<SEC-DOCUMENT>0001171520-24-000208.txt : 20240523
<SEC-HEADER>0001171520-24-000208.hdr.sgml : 20240523
<ACCEPTANCE-DATETIME>20240523140551
ACCESSION NUMBER:		0001171520-24-000208
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		69
CONFORMED PERIOD OF REPORT:	20240229
FILED AS OF DATE:		20240523
DATE AS OF CHANGE:		20240523

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			SONO TEK CORP
		CENTRAL INDEX KEY:			0000806172
		STANDARD INDUSTRIAL CLASSIFICATION:	SPECIAL INDUSTRY MACHINERY, NEC [3559]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				141568099
		STATE OF INCORPORATION:			NY
		FISCAL YEAR END:			0228

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

	BUSINESS ADDRESS:	
		STREET 1:		2012 RT 9W BLDG 3
		CITY:			MILTON
		STATE:			NY
		ZIP:			12547
		BUSINESS PHONE:		8457952020

	MAIL ADDRESS:	
		STREET 1:		2012 RT. 9W, BLDG. 3,
		CITY:			MILTON
		STATE:			NY
		ZIP:			12547
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>eps11317_sotk.htm
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" 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:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:sotk="http://sono-tek.com/20240229">
<head>
     <title>Sono-Tek 10-K</title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_021_US%2DGAAP%2D2024%2D(with%2DECD) -->
<!-- Field: Set; Name: xdx; ID: xdx_035_sotk_sono%2Dtek.com_20240229 -->
<!-- Field: Set; Name: xdx; ID: xdx_042_20230301_20240229 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_052_edei%2D%2DDocumentFiscalYearFocus_2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DEntityCentralIndexKey_0000806172 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000004" name="dei:DocumentFiscalYearFocus">2024</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000005" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000006" name="dei:EntityCentralIndexKey">0000806172</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-03-012023-02-28" id="xdx2ixbrl0236" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-03-01to2024-02-29" id="xdx2ixbrl0260" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="sotk:AccountsReceivableReserve" contextRef="From2023-03-01to2024-02-29" id="xdx2ixbrl0291" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-03-01to2024-02-29" id="xdx2ixbrl0363" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2022-03-012023-02-28" id="xdx2ixbrl0364" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0401" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0403" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0411" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2023-02-28" id="xdx2ixbrl0748" unitRef="USD" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="sotk-20240229.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-03-01to2024-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-08-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-05-17">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-05-17</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-12-012024-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-12-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-28_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-28_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-28_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:EquipmentAndFurnishingsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:EquipmentAndFurnishingsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_DomesticPatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">sotk:DomesticPatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_ForeignPatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">sotk:ForeignPatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_FluxingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:FluxingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_FluxingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:FluxingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:IntegratedCoatingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:IntegratedCoatingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:MultiAxisCoatingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:MultiAxisCoatingSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_OemSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OemSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_OemSystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OemSystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_OtherProductLineMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OtherProductLineMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_OtherProductLineMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OtherProductLineMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_ProductLineMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:ProductLineMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_ProductLineMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:ProductLineMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandTwentyThreeStockIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_TwoThousandThirteenStockIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandThirteenStockIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandTwentyThreeStockIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:NonEmployeeDirectorsStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:EmployeesAndDirectorsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:NonEmployeeDirectorsStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:EmployeesAndDirectorsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-03-012022-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-03-01</xbrli:startDate>
        <xbrli:endDate>2022-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_BuildingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_BuildingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_LaboratoryEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:LaboratoryEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_custom_LaboratoryEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:LaboratoryEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_custom_TradeshowAndDemonstrationEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:TradeshowAndDemonstrationEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_custom_TradeshowAndDemonstrationEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:TradeshowAndDemonstrationEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_FurnitureAndFixturesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_FurnitureAndFixturesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-29_us-gaap_LetterOfCreditMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-28_us-gaap_LetterOfCreditMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_srt_AsiaPacificMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_srt_AsiaPacificMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_MiddleEastMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:MiddleEastMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_MiddleEastMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:MiddleEastMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_srt_LatinAmericaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_srt_LatinAmericaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">sotk:ForeignCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">sotk:ForeignCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-012024-02-29_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-01</xbrli:startDate>
        <xbrli:endDate>2024-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012023-02-28_custom_FourCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000806172</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:FourCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2023-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">UNITED STATES<br/>
SECURITIES AND EXCHANGE COMMISSION<br/>
Washington, D.C. 20549</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 13pt Cambria,serif; margin: 0; text-align: center"><b>FORM <span id="xdx_906_edei--DocumentType_c20230301__20240229_zcMEajMX2wJh"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000012" name="dei:DocumentType">10-K</ix:nonNumeric></span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d)<br/>
OF THE SECURITIES EXCHANGE ACT OF 1934</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;<span id="xdx_901_edei--DocumentAnnualReport_c20230301__20240229_zRkWt81i5X0f" style="display: none"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleantrue" id="Fact000013" name="dei:DocumentAnnualReport">&#9746;</ix:nonNumeric></span> <span id="xdx_90D_edei--DocumentTransitionReport_c20230301__20240229_zyobPcjZEGh9" style="display: none"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleanfalse" id="Fact000014" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">For the Fiscal Year ended: <b><span id="xdx_90E_edei--DocumentPeriodEndDate_c20230301__20240229_zGMVk7qpdqeb"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:datemonthdayyearen" id="Fact000015" name="dei:DocumentPeriodEndDate">February 29, 2024</ix:nonNumeric></span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><span id="xdx_900_edei--CurrentFiscalYearEndDate_c20230301__20240229_zjr2yiyFUiZ" style="display: none"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:datemonthdayen" id="Fact000016" name="dei:CurrentFiscalYearEndDate">February 28</ix:nonNumeric></span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><span>&#160;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">Commission File Number: <b><span id="xdx_90B_edei--EntityFileNumber_c20230301__20240229_zrUnuIdPpXQ9"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000017" name="dei:EntityFileNumber">000-16035</ix:nonNumeric></span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><img src="sotk-logo.jpg" alt="" style="height: 0.57in; width: 7in"/><span style="font-size: 10pt"></span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><span id="xdx_901_edei--EntityRegistrantName_c20230301__20240229" title="Entity Registrant Name" style="display: none"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000019" name="dei:EntityRegistrantName">SONO TEK CORP</ix:nonNumeric></span> (Name of registrant as specified in its
charter)</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 52%; font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt; text-transform: uppercase"><b><span id="xdx_90D_edei--EntityIncorporationStateCountryCode_c20230301__20240229_zcoTkcZReSt8"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:stateprovnameen" id="Fact000020" name="dei:EntityIncorporationStateCountryCode">new york</ix:nonNumeric></span></b></span></td>
    <td style="width: 48%; font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_90A_edei--EntityTaxIdentificationNumber_c20230301__20240229_z8arI5sMHqri"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000021" name="dei:EntityTaxIdentificationNumber">14-1568099</ix:nonNumeric></span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt">(State or other Jurisdiction of<br/>
Incorporation or Organization)</span></td>
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt">(IRS Employer Identification Number)</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: center">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_902_edei--EntityAddressAddressLine1_c20230301__20240229_zhnqeGYbHA5j"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000022" name="dei:EntityAddressAddressLine1">2012 Route 9W</ix:nonNumeric></span>, <span id="xdx_90D_edei--EntityAddressCityOrTown_c20230301__20240229_zLjtSecwL285"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000023" name="dei:EntityAddressCityOrTown">Milton</ix:nonNumeric></span>, <span id="xdx_90B_edei--EntityAddressStateOrProvince_c20230301__20240229_zfk0BTFwanQ4"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:stateprovnameen" id="Fact000024" name="dei:EntityAddressStateOrProvince">New York</ix:nonNumeric></span></b></span></td>
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_90D_edei--EntityAddressPostalZipCode_c20230301__20240229_ztMTqMuiT85d"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000025" name="dei:EntityAddressPostalZipCode">12547</ix:nonNumeric></span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt">(Address of Principal Executive Offices)</span></td>
    <td style="font-family: Cambria,serif; text-align: center"><span style="font-size: 10pt">(Zip Code)</span></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">Registrant's Telephone Number, Including Area Code: <b><span id="xdx_900_edei--CityAreaCode_c20230301__20240229_zAn7AtQLSESa"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000026" name="dei:CityAreaCode">(845)</ix:nonNumeric></span> <span id="xdx_906_edei--LocalPhoneNumber_c20230301__20240229_zwUxwLOpsx4l"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000027" name="dei:LocalPhoneNumber">795-2020</ix:nonNumeric></span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Securities Registered Pursuant to Section 12(b) of the Act:</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr>
    <td style="vertical-align: bottom; width: 33%; font-family: Cambria,serif; text-align: center"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Title of each class</span></b></span></td>
    <td style="vertical-align: bottom; width: 34%; font-family: Cambria,serif; text-align: center"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Trading Symbol(s)</span></b></span></td>
    <td style="vertical-align: top; width: 33%; font-family: Cambria,serif; text-align: center"><span style="font-size: 9pt"><b>Name of each exchange <br/>
<span style="text-decoration: underline">on which registered</span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: center"><span id="xdx_90D_edei--Security12bTitle_c20230301__20240229_zm1m7xlXTsBe"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000028" name="dei:Security12bTitle">Common Stock $0.01 par value</ix:nonNumeric></span></td>
    <td style="font-family: Cambria,serif; text-align: center"><span id="xdx_909_edei--TradingSymbol_c20230301__20240229_zpuHhORwVb1i"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000029" name="dei:TradingSymbol">SOTK</ix:nonNumeric></span></td>
    <td style="font-family: Cambria,serif; text-align: center"><span id="xdx_905_edei--SecurityExchangeName_c20230301__20240229_zOVfUtoOaX36"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:exchnameen" id="Fact000030" name="dei:SecurityExchangeName">The Nasdaq Stock Market LLC</ix:nonNumeric></span><br/>
(Capital Market)</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Securities Registered Pursuant to Section 12(g) of the Act: None</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in
Rule 405 of the Securities Act. Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;<span id="xdx_90C_edei--EntityWellKnownSeasonedIssuer_c20230301__20240229_zO1CCn7Na6Mh"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000031" name="dei:EntityWellKnownSeasonedIssuer">No</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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 Exchange Act. Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;<span id="xdx_90B_edei--EntityVoluntaryFilers_c20230301__20240229_zP5WSdRCUlA8"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000032" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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. <span id="xdx_901_edei--EntityCurrentReportingStatus_c20230301__20240229_zgfC75Y0l3b3"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000033" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span>&#160;&#160;No&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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). <span id="xdx_902_edei--EntityInteractiveDataCurrent_c20230301__20240229_zu2mW9dJZeb1"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000034" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span>&#160;&#160;No&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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. See the definitions of &#8220;large accelerated
filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and "emerging growth company" in Rule
12b-2 of the Exchange Act.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 30%; font-family: Cambria,serif">Large Accelerated Filer <span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></td>
    <td style="width: 37%; font-family: Cambria,serif">Accelerated Filer <span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></td>
    <td style="width: 33%; font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span id="xdx_906_edei--EntityFilerCategory_c20230301__20240229_znQqbGXxClDd"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:entityfilercategoryen" id="Fact000035" name="dei:EntityFilerCategory">Non-accelerated Filer</ix:nonNumeric></span> <span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span></td>
    <td style="font-family: Cambria,serif">Smaller reporting company <span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90C_edei--EntitySmallBusiness_c20230301__20240229_zJPINy7U1lYb"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleantrue" id="Fact000036" name="dei:EntitySmallBusiness">&#9745;</ix:nonNumeric></span></span></td>
    <td style="font-family: Cambria,serif">Emerging growth company <span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90F_edei--EntityEmergingGrowthCompany_c20230301__20240229_zZPvu15OqrCd"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleanfalse" id="Fact000037" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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. <span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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. <span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90D_edei--IcfrAuditorAttestationFlag_c20230301__20240229" title="ICFR Auditor Attestation Flag"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleanfalse" id="Fact000039" name="dei:IcfrAuditorAttestationFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark
whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial
statements. <span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90E_edei--DocumentFinStmtErrorCorrectionFlag_c20230301__20240229" title="Document Financial Statement Error Correction [Flag]"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleanfalse" id="Fact000041" name="dei:DocumentFinStmtErrorCorrectionFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 11pt Segoe UI Symbol,sans-serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Indicate by check mark whether any of those error corrections are restatements that required
a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery
period pursuant to &#167; 240.10D-1(b). <span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2
of the Exchange Act). Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;<span id="xdx_907_edei--EntityShellCompany_c20230301__20240229_zquEuUGgxjw3"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt:booleanfalse" id="Fact000042" name="dei:EntityShellCompany">No</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9745;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">As of August 31, 2023 the last business day of the Registrant&#8217;s most recently completed
second fiscal quarter, the aggregate market value of the Registrant's Common Stock held by non-affiliates of the Registrant was approximately
$<span id="xdx_906_edei--EntityPublicFloat_iI_pp0p0_c20230831_z2PpR4L74QC5" title="Entity Public Float"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2023-08-31" id="Fact000044" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">72,065,185</ix:nonFraction></span> computed by reference to the average of the bid and asked prices of the Common Stock on said date, which average was $4.84.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">The Registrant had <span id="xdx_90F_edei--EntityCommonStockSharesOutstanding_iI_c20240517_zMy1snJ9Bur9" title="Entity Common Stock, Shares Outstanding"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-05-17" id="Fact000046" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,750,880</ix:nonFraction></span> shares of Common Stock outstanding as of May 17, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">DOCUMENTS INCORPORATED BY REFERENCE: <span id="xdx_90B_edei--DocumentsIncorporatedByReferenceTextBlock_c20230301__20240229" title="Documents Incorporated by Reference [Text Block]"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000048" name="dei:DocumentsIncorporatedByReferenceTextBlock">None.</ix:nonNumeric></span>&#160;</p>


<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->


<p style="font: 11pt Cambria,serif; margin: 0 0 8pt; text-align: center"><b>TABLE OF CONTENTS </b></p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 2%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 10%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 86%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 2%; font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="font-family: Cambria,serif"><a href="#parti">PART I</a></td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item1">Item 1.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item1">Business.</a></td>
    <td style="font-family: Cambria,serif">1</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item1a">Item 1A.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item1a">Risk Factors.</a></td>
    <td style="font-family: Cambria,serif">6&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#itembc">Item 1B.</a></td>
    <td style="font-family: Cambria,serif"><a href="#itembc">Unresolved Staff Comments.</a></td>
    <td style="font-family: Cambria,serif">20&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#itembc">Item 1C.</a></td>
    <td style="font-family: Cambria,serif"><a href="#itembc">Cybersecurity</a></td>
    <td style="font-family: Cambria,serif">20</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item2">Item 2.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item2">Properties.</a></td>
    <td style="font-family: Cambria,serif">20&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item3">Item 3.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item3">Legal Proceedings.</a></td>
    <td style="font-family: Cambria,serif">20&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item4">Item 4.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item4">Mine Safety Disclosures.</a></td>
    <td style="font-family: Cambria,serif">20&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="font-family: Cambria,serif"><a href="#partii">PART II</a></td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item5">Item 5.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item5">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</a></td>
    <td style="font-family: Cambria,serif">21&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item6">Item 6.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item6">[Reserved].</a></td>
    <td style="font-family: Cambria,serif">21&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item7">Item 7.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item7">Management's Discussion and Analysis of Financial Condition and Results of Operations.</a></td>
    <td style="font-family: Cambria,serif">21&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item7a">Item 7A.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item7a">Quantitative and Qualitative Disclosures about Market Risk</a></td>
    <td style="font-family: Cambria,serif">30&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item8">Item 8.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item8">Financial Statements and Supplementary Data</a></td>
    <td style="font-family: Cambria,serif">30&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item9">Item 9.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item9">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></td>
    <td style="font-family: Cambria,serif">30&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item9a">Item 9A.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item9a">Controls and Procedures.</a></td>
    <td style="font-family: Cambria,serif">30&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item9bc">Item 9B.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item9bc">Other Information.</a></td>
    <td style="font-family: Cambria,serif">30&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item9bc">Item 9C.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item9bc">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections.</a></td>
    <td style="font-family: Cambria,serif">30</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="font-family: Cambria,serif"><a href="#partiii">PART III</a></td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item10">Item 10.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item10">Directors, Executive Officers and Corporate Governance.</a></td>
    <td style="font-family: Cambria,serif">31&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item11">Item 11.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item11">Executive Compensation.</a></td>
    <td style="font-family: Cambria,serif">36&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item12">Item 12.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item12">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</a></td>
    <td style="font-family: Cambria,serif">39&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item13">Item 13.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item13">Certain Relationships and Related Transactions.</a></td>
    <td style="font-family: Cambria,serif">41&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item14">Item 14.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item14">Principal Accountant Fees and Services.</a></td>
    <td style="font-family: Cambria,serif">41&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><a href="#item15">Item 15.</a></td>
    <td style="font-family: Cambria,serif"><a href="#item15">Exhibits, Financial Statement Schedules</a></td>
    <td style="font-family: Cambria,serif">42&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; font-family: Cambria,serif">&#160;</td>
    <td style="vertical-align: top; font-family: Cambria,serif"><a href="#item16">Item 16.</a></td>
    <td style="vertical-align: top; font-family: Cambria,serif"><a href="#item16">Form 10-K Summary.</a></td>
    <td style="font-family: Cambria,serif">43&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin-top: 0; margin-bottom: 0; margin-left: 0in; text-indent: 0in; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin-top: 0; margin-bottom: 0; margin-left: 0in; text-indent: 0in; text-align: justify">&#160;</p>
<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->






<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="parti"></span></p>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>PART I</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item1"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif"><b><span style="text-decoration: underline">ITEM 1</span></b></td>
    <td style="font-family: Cambria,serif"><b>BUSINESS</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 11pt 0; text-align: justify">Sono-Tek Corporation (the &#8220;Company&#8221;, &#8220;Sono-Tek&#8221;,
&#8220;We&#8221; or &#8220;Our&#8221;) is the world leader in the design and manufacture of ultrasonic coating systems for applying precise,
thin film coatings to add functional properties, protect or strengthen surfaces on parts and components for the microelectronics/electronics,
alternative energy, medical, industrial and emerging research &amp; development/other markets. We design and manufacture custom-engineered
ultrasonic coating systems incorporating our patented technology, in combination with strong applications engineering knowledge, to assist
our customers in achieving their desired coating solutions.</p>

<p style="font: 11pt Cambria,serif; margin: 0 0 6pt; text-align: justify">Our ultrasonic nozzle systems use high frequency ultrasonic
vibrations that atomize liquids into minute drops that can be applied to surfaces at low velocity providing microscopic layers of protective
and other useful materials over a wide variety of surfaces, including glass and metals. Our equipment solutions are environmentally-friendly,
efficient and highly reliable. They enable dramatic reductions in overspray, savings in raw materials, water and energy usage and provide
improved process repeatability, transfer efficiency, high uniformity and reduced emissions. We serve a variety of industries and applications
and have a broad base of customers.</p>

<p style="font: 11pt Cambria,serif; margin: 0 0 6pt; text-align: justify">The applications that are employing our unique coating technology
and expertise have been expanding as the advantages of ultrasonic coatings are more broadly recognized. The original application of our
technology was to coat the inner surface of blood collection tubes used for medical diagnostic testing. Our products enable the application
of a thin and uniform coating of material that prevents coagulation of blood. Following that initial breakthrough, our technology was
then used for applying uniform flux coatings to printed circuit boards, a critical part of the fabrication process for all electronic
devices. A later application for much larger surfaces was to address the many challenges that glass manufacturers faced. They needed a
solution for specialized glass applications in the construction and automotive industries. Among other things, our ultrasonic nozzles
are used to provide coatings that improve durability, create filters, increase clarity, reduce reflection, enable conductivity, and enhance
safety. We have invested significant resources to enhance our market diversity by leveraging our core ultrasonic coating technology. As
a result, we have increased our portfolio of products, the industries we serve, and the countries in which we sell our products.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We were founded by the inventor of the ultrasonic nozzle, Dr. Harvey
Berger, and incorporated in New York on March 21, 1975. We became a public company in 1987 and our stock is traded on the Nasdaq Capital
Market. Our corporate offices are located in Milton, New York where our production facilities are co-located. We also have a sales and
service office in Singapore and an application process development laboratory in Guangzhou, China. We are ISO 9001 qualified since registering
in September 1998 and have been recertified annually since then.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our fiscal year ends on February 28, except in leap years when it
ends on February 29. We refer to the fiscal year ended February 29, 2024 as &#8220;fiscal 2024&#8221; and use similar protocol for previous
fiscal years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our Products, Markets and Customers</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our products are used in a wide range of applications. We provide
our customers a broad offering of ultrasonic spray coating equipment solutions custom suited for their requirements and we continually
expand our offerings to address new applications. Our products include fully integrated Multi-Axis Coating Systems, Integrated Coating
Systems, Fluxing Systems, OEM Systems and other related systems. We invest heavily in research and development to continually bring to
market new solutions for our customers, to increase our market share and to solve high value problems in manufacturing.</p>


<!-- Field: Page; Sequence: 4; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our Multi-Axis Coating Systems, Integrated Coating Systems and Fluxing
Systems provide complete fully integrated solutions for our customers, while we created the Universal Align to offer our customers subsystems
that integrate our nozzles and generators for incorporation into their original equipment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We have built our brand and reputation on providing high quality,
highly reliable products that provide consistent performance for critical applications in demanding operating environments. Our surface
coating solutions are used in 24/7 work schedules, under harsh and challenging manufacturing environments, where they provide value in
a continuous and dependable fashion.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We target the following markets where our product quality and consistency
and application knowledge are valued by our customers:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>Micro-Electronics/Electronics:</b></td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Printed circuit boards: Ultrasonic flux application that removes oxidation and is more efficient than standard, historic processes</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Semiconductors: Applications of micron-thin photo-resist layers onto complex wafers</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Sensors: Application of chemical, biological or other detection coatings as well as physical photoelectric elements for conversion of input and output signals</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Display/panel glass on personal electronic devices: for sensitivity to temperature, imprint, pressure and for physical protection</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>Medical: </b>Our systems are used in this industry to apply micron layers of polymers and drugs, biomedical materials and anti-coagulants.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Implanted medical devices such as:</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 188px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify"><span style="font-family: Tahoma,sans-serif">&#9642;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">Stents and balloons</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 188px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify"><span style="font-family: Tahoma,sans-serif">&#9642;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">Artificial joints</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Blood collection tubes</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Diagnostic devices</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Bandages/protective wraps</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Lenses</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>Industrial</b></td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Flat (&#8220;float&#8221;) glass used for windows in buildings and vehicles</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Textiles: high performance value adding coatings such as anti-microbial, anti-stain, flame retardant and moisture barriers</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Food packaging and food safety: anti-microbial coatings</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Food: coatings of flavors, ingredients and other additives</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>Alternative Energy</b>: Our systems provide coatings of chemicals and other materials that act as catalysts, barriers, facilitators of symbiosis or other interactions between surfaces.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Fuel cells</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px">
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">o</p>
    <p style="font: 11pt Cambria,serif; margin: 0">o</p>
    <p style="font: 11pt Cambria,serif; margin: 0">o</p></td>
    <td>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Solar cells</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Carbon Capture</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Green Hydrogen</p></td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>Emerging Research and Development / Other Markets</b></td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">Research and development efforts at universities, research institutions and government agencies that are not part of our already established markets</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 113px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">o</td>
    <td style="font-family: Cambria,serif; text-align: justify">A variety of other small industries using our coating technology, that have not yet matured into a developed marketplace for our ultrasonic coating machines</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 5; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our principal customers include original equipment manufacturers,
distributors and end users of our products in the industries that we serve.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our products are sold primarily through our direct sales personnel,
select independent distributors and through sales representatives around the world that are trained on our technologies and products.
Our distributors are typically experts in their industries and recognize the significant value that our technology provides their customers.
We provide extensive training and on-site support with our direct sales force and application engineers, who also respond to leads generated
by our web site and the trade shows in which we participate. To grow sales, we continue to strengthen our laboratory and applications
engineering personnel and support our worldwide process development labs with additional ultrasonic coating equipment, in conjunction
with sponsoring various technical training seminars for our distribution network.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We also provide application consulting services enabling our customers
to rely on our surface coating expertise and specific customer process optimization. We offer these services both in our application process
development laboratory and at our customers&#8217; sites where we can assist in the design and development of customized coating systems.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We are a global business and our geographical sales mix can vary from
year to year depending on the timing of orders from customers. In fiscal 2024, 45% of our sales were from outside the U.S. and Canada.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our Strengths</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">From our core strengths and capabilities, we:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Have built a strong reputation in the industry based on our ability to solve our customers&#8217; complex problems and provide custom engineered, value-added solutions.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Are renowned for our product quality, customer service and responsiveness and critical thinking that enables a strong problem-solving culture throughout our organization.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Have expanded our ability to provide coating services for low to mid-volume demand to support our customers&#8217; product development and testing.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Are continually developing new technologies and solutions to address an ever-changing marketplace.</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Have built a strong balance sheet with no debt, which we believe provides us with the financial flexibility to pursue our strategic plans for growth, including aggressive pursuit of organic and other development opportunities.</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our Strategy</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our strategy is to further advance the use of ultrasonic coating technologies
for the microscopic coating of surfaces in a broader array of applications which enable better outcomes for our customers&#8217; products
and processes. We believe product superiority is imperative and that it is attained through the extensive experience that we have in the
coatings industry, our proprietary manufacturing know-how and skills, and our unique work force that we have built over the years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We intend to leverage our innovative technologies, proprietary know-how,
unique talent and experience, and global reach to:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Grow the business globally by reaching new markets and further penetrating the markets and customers we currently serve;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Increase our earnings power through lean manufacturing processes, automation and continuous improvement;</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Develop new and unique technologies that solve our customers&#8217; most challenging problems;</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Meet or exceed our customers&#8217; expectations; and</td></tr>
  </table>
<p style="font: 3pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="width: 38px; font-family: Cambria,serif; text-align: justify">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">Provide an acceptable return to our shareholders.</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 6; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">To accomplish these objectives, we believe that we must judiciously
deploy our monetary and human capital in order to expand our presence in our targeted markets and create broader offerings for our customers.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Availability of Raw Materials</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Historically, we have not been adversely impacted by the availability
of raw materials or components used in the manufacture of our products.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Generally, except in instances of pandemic related supply chain issues,
all raw materials used in our products are available from many different domestic suppliers. We purchase circuit board assemblies and
sheet metal components from a wide range of suppliers throughout the world.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">When materials are plentiful, we carefully manage our inventory using
lean manufacturing processes. We provide a limited warranty on all of our products that covers parts and labor for a period of one year
from the date of sale<span style="color: #222222; background-color: white">.</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Research and Development</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We believe that our long-term growth is dependent upon the development
and commercialization of ultrasonic coating technologies to solve customers&#8217; high value problems across a wide spectrum of applications
in various industries, while also advancing the utility of our core technology. During fiscal 2024 and fiscal 2023, we spent $2,886,000
and $2,149,000, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services. As a percentage of sales, research and development expenses were 14.6% and 14.3% in fiscal 2024 and
2023, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Intellectual Property</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our business is based in part on the technology covered by our U.S.
patents. We also rely on unpatented know-how in the design and production of our nozzle systems, subsystems and complete solutions. We
have executed non-disclosure and non-compete agreements with all of our employees to safeguard our intellectual property. We execute reciprocal
non-disclosure agreements with our key customers to safeguard any jointly developed intellectual property.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Competition</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We operate in competitive markets in many of our industry segments.
We compete against alternative coating technologies, as well as global and regional manufacturers of nozzles and other products based
on price, quality, product features, application engineering and follow-up service. We maintain our competitive position by providing
highly effective solutions that meet our customers&#8217; requirements and needs. In several emerging markets, we encounter less competition
compared to more established markets based on the uniqueness of our ultrasonic technology in these applications.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.5in"><b><i>Information Regarding Sales Outside
the United States and Canada and Significant Customers</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, net sales to customers outside
the U.S. and Canada accounted for approximately $8,822,000, or 45% of total net sales, and $8,254,000, or 55% of total net sales, respectively.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 7; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Employees</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 29, 2024, we employed 82 full-time and 12 part-time
employees. We believe that relations with our employees are generally good.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Available Information</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We are subject to the informational requirements of the Securities
Exchange Act of 1934, as amended. Therefore, we file &#8220;reports, proxy statements and other information with the Securities and Exchange
Commission (&#8220;SEC&#8221;). The SEC maintains a website at www.sec.gov that contains the reports, proxy statements and other information
for registrants that file electronically, as we do. Additionally, these reports may be read and copied at the Public Reference Room of
the SEC at 100 F Street, N.E., Washington, DC 20549. Information regarding the SEC&#8217;s Public Reference Room may be obtained by calling
1-800-SEC-0330.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We maintain a website at http://www.sono-tek.com. On our site, we
provide copies of our Forms 8-K, 10-K, 10-Q, Proxy and Annual Report as soon as reasonably practicable after filing electronically such
material with the SEC. Copies are also available, without charge, from Sono-Tek Corporation, 2012 Route 9W, Milton, NY 12547.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item1a"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 98px; font-family: Cambria,serif"><b><span style="text-decoration: underline">ITEM 1A </span></b></td>
    <td style="font-family: Cambria,serif"><b>RISKS RELATED TO OUR BUSINESS AND OPERATIONS</b>&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We do not have long-term commitments for significant revenues
with most of our customers and may be unable to retain existing customers, attract new customers or replace departing customers with new
customers that can provide comparable revenues and profit margins.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Because we generally do not obtain firm, long-term
volume purchase commitments from our customers, most of our sales are derived from individual purchase orders. We remain dependent upon
securing new purchase orders in the future in order to sustain and grow our revenues. Accordingly, there is no assurance that our revenues
and business will grow in the future. Our failure to maintain and expand our customer relationships could materially and adversely affect
our business and results of operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>In recent years, a few major customers and distributors have
accounted for a significant portion of our revenue. Our revenue could decline if we are unable to maintain or develop relationships with
additional customers or distributors and our results of operations could be adversely affected if any one of these customers is unable
to meet their financial obligations to us.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">For the year ended February 29, 2024, our two
largest customers accounted for approximately 12% of our net sales. For the year ended February 28, 2023, our two largest customers accounted
for approximately 14% of our net sales. If we are unable to diversify our customer base, our future results could be heavily dependent
on these customers and distributors. Our dependence on a limited number of customers and distributors means that the loss of a major customer
or distributor or any reduction in orders by a major customer or distributor would materially reduce our net sales and adversely affect
our results of operations. We expect that sales to relatively few customers will continue to account for a significant percentage of our
net sales for the foreseeable future; however, these customers or our other customers, may not use our products at current levels in the
future, if at all. Customer purchase orders may be delayed or cancelled, and order volume levels can be changed with loss of deposit as
the only penalty. We may not be able to replace cancelled, delayed, or reduced purchase orders with new orders. If any one of these customers
reduces its demand for our products, it will likely have a material adverse effect on our operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 8; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Furthermore, a significant portion of our accounts
receivables is concentrated with a few&#160;major customers, who may not be able to meet their financial obligations to us. The failure
of any such customers to pay amounts owed to us in a timely fashion or at all could have an adverse effect on our results of operations.&#160;The
Company is also exposed to credit risk on its accounts receivable, and this risk is heightened during periods when economic conditions
worsen. The Company's outstanding receivables are not covered by collateral or credit insurance. The Company's exposure to credit and
collectability risk on its receivables may also be higher in certain international markets, and its ability to mitigate such risks may
be limited. While the Company has procedures to monitor and limit exposure to credit risk on its receivables, there can be no assurance
such procedures will effectively limit our credit risk and avoid losses.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We may need to raise additional funds to develop our business,
which may adversely affect our future growth.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;We may finance a portion of our anticipated
future growth and possibly future strategic acquisitions through public or private equity offerings or debt financings. Additional funds
may not be available when we need them on terms that are acceptable to us, or at all. If adequate funds are not available, we may be required
to delay or reduce the scope of, our plans to grow our revenues or to consummate one or more strategic acquisitions<i>&#160;</i>or otherwise
to scale back our business plans. In addition, we could be forced to reduce or forego attractive business opportunities. To the extent
that we raise additional funds by issuing equity securities, our stockholders may experience significant dilution. In addition, debt financing,
if available, may involve restrictive covenants. We may seek to access the public or private capital markets whenever conditions are favorable,
even if we do not have an immediate need for additional capital at that time. Our access to the financial markets and the pricing and
terms we receive in the financial markets could be adversely impacted by various factors, including changes in financial markets and interest
rates.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We may be adversely affected by global and regional economic
conditions and military, legislative, regulatory and political developments.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We sell our products around the world, and we
expect to continue to derive a substantial portion of sales from outside the U.S. In addition, we are currently operating in a period
of economic uncertainty and capital markets disruption, which has been significantly impacted by geopolitical instability due to the ongoing
military conflict between Russia and Ukraine. Our business, financial condition and results of operations could be materially adversely
affected by any negative impact on the global economy and capital markets resulting from the conflict in Ukraine or any other geopolitical
tensions such as regional instability from the conflict between Israel and Hamas.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Customers or suppliers may experience cash flow
problems and as a result, may modify, delay or cancel plans to purchase our products, and suppliers may significantly and quickly increase
their prices or reduce their output. Additionally, if customers are not successful in generating sufficient revenue or are precluded from
securing financing, they may not be able to pay, or may delay payment of, amounts owed to us. Any inability of current and/or potential
customers to purchase our products and/or to pay us for our products may adversely affect our sales, earnings and cash flow. Sales and
earnings could also be affected by our ability to manage the risks and uncertainties associated with the application of local legal requirements
or the enforceability of laws and contractual obligations, trade protection measures, changes in tax laws, regional political instability,
war, terrorist activities, severe or prolonged adverse weather conditions and natural disasters as well as health epidemics or pandemics.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our success will depend, to a large degree, on the expertise
and experience of the members of our management team, the loss of whom could have a material adverse effect on our business.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our success is, to a large degree, dependent upon
the expertise and experience of the management team and its ability to attract and retain qualified personnel who are technically proficient.
The loss of the services of one or more of such personnel could have a material adverse effect on our business. Our business may be adversely
affected if we are unable to continue to attract and retain such personnel.</p>


<!-- Field: Page; Sequence: 9; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We will need to add qualified additional personnel as we expand
our business, and we may not be able to employ such persons, which could affect our ability to expand and have a material adverse effect
on our business.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;In order to expand our product offerings
and customer base, we will need to hire additional qualified personnel. We may not be able to identify such persons, and even if we identify
them, we may not have the funds or ability to employ them, which could have a material adverse effect on our business.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Although we have not experienced any material
disruptions due to labor shortages to date, we have observed an overall tightening and increasingly competitive labor market. A sustained
labor shortage or increased turnover rates within our employee base as a result of general macroeconomic factors, could lead to increased
costs, such as increased overtime to meet demand and increased wage rates to attract and retain employees, and could negatively affect
our ability to complete our projects according to the required schedule or otherwise efficiently operate our business. If we are unable
to hire and retain employees capable of performing at a high level, or if mitigation measures we may take to respond to a decrease in
labor availability, such as overtime and third-party outsourcing, have unintended negative effects, our business could be adversely affected.
An overall labor shortage, lack of skilled labor, increased turnover or labor inflation, caused by COVID-19 or as a result of general
macroeconomic factors, could have a material adverse impact on our operations, results of operations, liquidity or cash flows.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>If we are unable to manage our expected growth, our business
may be materially and adversely affected.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We expect to expand our operations, including
by expanding our internal resources, making possible acquisitions and entering into new markets, and we intend to continue to focus on
rapid growth, including organic growth and possibly acquisitions. The growth of our business could place significant strain on our management,
operational and financial resources. To manage our future growth, we could be required to improve existing or implement new operational
or financial systems, procedures and controls or expand, train and manage a growing employee base. Our failure to accomplish any of these
tasks could materially and adversely affect our business. Even if we are successful in integrating future acquisitions into our existing
operations, we may not derive the benefits, such as operational or administrative synergies, that we expected from such acquisitions,
which may result in the investment of our capital resources without realizing the expected returns on such investment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our inability to protect our intellectual property rights could
negatively affect our business and results of operations.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our ability to compete effectively depends in
part upon developing, maintaining and/or protecting intellectual property rights relevant to our ultrasonic nozzles and coating processes.
We rely principally on a combination of patent protection, trade secret laws, confidentiality and non-disclosure agreements, and trusted
business relationships to establish, maintain and protect the intellectual property rights relevant to our business. These measures, however,
may not be adequate in every given case to permit us to gain or retain any competitive advantage, particularly in those countries where
the laws do not protect our proprietary rights as fully as in the United States.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Where we consider it appropriate, we may seek
patent protection in the United States on technologies used in, or relating to, our ultrasonic nozzles, applications and manufacturing
processes. The issuance of a patent is not conclusive as to its scope, validity and enforceability. Thus, any patent or patent application
which may issue into a patent held by us could be challenged, invalidated or held unenforceable in litigation or proceedings before the
U.S. Patent and Trademark Office and/or other patent tribunals or circumvented by others. No consistent policy regarding the breadth of
patent claims has emerged to date in the United States, and the landscape could become more uncertain in view of future rule changes by
the United States Patent and Trademark Office, the introduction of patent reform legislation and decisions in patent law cases by United
States federal courts. The patent landscape outside the United States is even less predictable. As a result, the validity and enforceability
of patents cannot be predicted with certainty. In addition, we may fail to apply for patents on important technologies or product candidates
in a timely fashion, if at all, and our existing and future patents may not be sufficiently broad to prevent others from utilizing our
technologies or from developing competing products or technologies.</p>


<!-- Field: Page; Sequence: 10; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our patent strategy involves complex legal and
factual questions. Our ability to maintain and solidify our proprietary technology may depend in part upon our success in obtaining patent
rights and enforcing those rights once granted or licensed. Our issued patents and those that may be issued in the future may be challenged,
invalidated, rendered unenforceable or circumvented, which could limit our ability to prevent competitors from marketing similar or related
products, or shorten the term of patent protection that we may have for our products, processes and enabling technologies. In addition,
the rights granted under any issued patents may not provide us with competitive advantages against competitors with similar technology.
Furthermore, our competitors may independently develop similar technologies, duplicate technology developed by us or otherwise possess
intellectual property rights that could limit our ability to manufacture our products and operate our business.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We also rely on trade secret protection for our
confidential and proprietary information. Trade secrets, however, can be difficult to protect. We may not be able to maintain our technology
or know-how as trade secrets, and competitors may develop or acquire equally valuable or more valuable technology or know-how related
to the manufacture of comparable ultrasonic nozzles. We also seek to protect our confidential and proprietary information, in part, by
requiring all employees, consultants and business partners to execute confidentiality and/or nondisclosure agreements upon the commencement
of any employment, consulting arrangement or engagement with us. These agreements generally require that all confidential and proprietary
information developed by the employee, consultant, or business partner, or made known to the employee, consultant or business partner
by us, during the course of the relationship with us, be kept confidential and not disclosed to third parties. These agreements may be
breached and may not provide adequate remedies in the event of breach. To the extent that our employees, consultants, or business partners
use intellectual property owned by others in their work for and/or with us, disputes could arise as to the rights in related or resulting
technologies, know-how or inventions. Moreover, while we also require customers and vendors to execute agreements containing confidentiality
and/or nondisclosure provisions, we may not have obtained such agreements from all of our customers and vendors. In addition, our trade
secrets may otherwise become known or be independently discovered by competitors, customers, or vendors. Such customers or vendors may
also be subject to laws and regulations that require them to disclose information that we would otherwise seek to keep confidential.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Moreover, others may independently develop and
obtain patents covering technologies that are similar or superior to the product forms, applications, or manufacturing processes that
we employ. If that happens, we may need to obtain licenses for these technologies and may not be able to obtain licenses on reasonable
terms, if at all, which could limit our ability to manufacture our future products and operate our business. In addition, third parties
could utilize our intellectual property rights in territories where we do not have intellectual property protection. Such third parties
may then try to import products made using our intellectual property rights into the United States or other countries, which could have
a material adverse effect on our business.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We could become subject to intellectual property litigation
that could be costly, limit or cancel our intellectual property rights, divert time and efforts away from business operations, require
us to pay damages and/or otherwise have an adverse material impact on our business.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The success of our business is highly dependent
on protecting our intellectual property rights. Unauthorized parties may attempt to copy or otherwise obtain and use our products and/or
enabling technologies. Policing the unauthorized use of our intellectual property rights is difficult and expensive, as is enforcing these
rights against unauthorized use by others. Identifying unauthorized use of our intellectual property rights is difficult because we may
be unable to monitor the processes and/or materials being employed by other parties. The steps we have taken may not prevent unauthorized
use of our intellectual property rights, particularly in foreign countries where enforcement of intellectual property rights may be more
difficult than in the United States.</p>


<!-- Field: Page; Sequence: 11; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our continued commercial success will also depend
in part upon not infringing the patents or violating the intellectual property rights of third parties. We are aware of patents and patent
applications generally relating to aspects of our technologies filed by, and issued to, third parties. Nevertheless, we cannot determine
with certainty whether such patents or patent applications of other parties may materially affect our ability to conduct our business.
There may be existing patents of which we are unaware that we may inadvertently infringe, resulting in claims against us or our customers.
In the event that the manufacture, use and/or sale of our products or processes is challenged, or if our product forms or processes conflict
with the patent rights of others, third parties could bring legal actions against us or our customers in the United States, Asia, Europe
or other countries, claiming damages and seeking to enjoin the manufacturing and/or marketing of our products. Additionally, it is not
possible to predict with certainty what patent claims may issue from any relevant third-party pending patent applications. Third parties
may be able to obtain patents with claims relating to our product forms, applications and/or manufacturing processes which they could
attempt to assert against us or our customers.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">In either case, litigation may be necessary to
enforce, protect or defend our intellectual property rights or to determine the validity and scope of the intellectual property rights
of others. Any litigation could be unsuccessful, cause us to incur substantial costs, divert resources and the efforts of our personnel
away from daily operations, harm our reputation and/or result in the impairment of our intellectual property rights. In some cases, litigation
may be threatened or brought by a patent holding company or other adverse patent owner who has no relevant product revenues and against
which our patents may provide little or no deterrence. If we are found to infringe any patents, we could be required to (1) pay substantial
monetary damages, including lost profits, reasonable royalties and/or treble damages if an infringement is found to be willful and/or
(2) totally discontinue or substantially modify any products or processes that are found to be in violation of another party&#8217;s intellectual
property rights. If our competitors are able to use our technology without payment to us, our ability to compete effectively could be
harmed.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>The markets within which we compete are highly competitive.
Many of our competitors have greater financial and other resources than we do and one or more of these competitors could use their greater
financial and other resources to gain market share at our expense.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">If our business continues to develop as expected,
we anticipate that our revenues will continue to grow. If, due to capital constraints or otherwise, we are unable to fulfill our existing
backlog in a timely manner and/or procure and timely fulfill our anticipated future backlog, our customers and potential customers may
decide to use competing systems or products. If we are unable to fulfill the demand for products and systems in a timely manner, our customers
and potential customers may choose to purchase products from our competitors. In addition, we could face new competition from large international
or domestic companies with established industrial brands and distribution networks that enter our end markets. Demand for our products
may also be affected by our ability to respond to changes in design and functionality, to respond to downward pricing pressure, and to
provide shorter lead times for our products than our competitors. If we are unable to respond successfully to these competitive pressures,
we could lose market share, which could have an adverse impact on our results. We cannot assure that we will be able to compete successfully
in our markets or compete effectively against current and new competitors as our industry continues to evolve.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Rapid technological changes may prevent us from remaining current
with our technological resources and maintaining competitive product and service offerings.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The markets in which we and our customers operate
are characterized by rapid technological change. Significant technological changes could render our existing and potential new products,
systems, and technology obsolete. Our future success will depend, in large part, upon our ability to:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 6%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 2%; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="width: 92%; font-family: Cambria,serif; text-align: justify">effectively identify and develop leading technologies;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">continue to develop our technical expertise;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">enhance our current products and systems with new, improved and competitive technology; and</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 8pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 8pt; font-family: Cambria,serif; text-align: justify">respond to technological changes in a cost-effective and timely manner.</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 12; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">If we are unable to successfully respond to technological
change or if we do not respond to it in a cost-effective and timely manner, then our business will be materially and adversely affected.
We cannot assure you that we will be successful in responding to changing technology. In addition, technologies developed by others may
render our products, systems, and technology uncompetitive or obsolete. Even if we do successfully respond to technological advances,
the integration of new technology may require substantial time and expense, and we cannot assure you that we will succeed in adapting
our products, systems and technology in a timely and cost-effective manner.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>If we are unable to continue to develop new and enhanced products
and systems that achieve market acceptance in a timely manner, our competitive position and operating results could be harmed.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our future success will depend on our ability
to continue to develop new and enhanced ultrasonic nozzles and coating systems and related products that achieve market acceptance in
a timely and cost-effective manner. The markets in which we and our customers operate are characterized by frequent introductions of new
and enhanced products and services, evolving industry standards and regulatory requirements, government incentives and changes in customer
needs. The successful development and market acceptance of our products and systems, depends on a number of factors, including:&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 6%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 2%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 92%; font-family: Cambria,serif; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the changing requirements and preferences of the potential customers in our markets;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the accurate prediction of market requirements, including any regulatory issues;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the timely completion and introduction of new products and systems to avoid obsolescence;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the quality, price and performance of new products and systems;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the availability, quality, price and performance of competing products and systems;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">our customer service and support capabilities and responsiveness;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the successful development of our relationships with existing and potential customers; and</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 8pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 8pt; font-family: Cambria,serif; text-align: justify">changes in industry standards.</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We may experience financial or technical difficulties
or limitations that could prevent us from introducing new or enhanced products or systems. Furthermore, any of these new or enhanced products
and systems could contain problems that are discovered after they are introduced. We may need to significantly modify the design of these
products and systems to correct problems. Rapidly changing industry standards and customer preferences and requirements may impede market
acceptance of our products and systems.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Development and enhancement of our products and
systems will require significant additional investment and could strain our management, financial and operational resources. The lack
of market acceptance of our products or systems or our inability to generate sufficient revenues from this development or enhancement
to offset their development costs could have a material adverse effect on our business. In addition, we may experience delays or other
problems in releasing new products and systems and enhancements, and any such delays or problems may cause customers to forego purchases
of our products and systems and to purchase those of our competitors.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We cannot provide assurance that products and
systems that we have recently developed or that we develop in the future will achieve market acceptance. If our new products and systems
fail to achieve market acceptance, or if we fail to develop new or enhanced products and systems that achieve market acceptance, our growth
prospects, operating results and competitive position could be adversely affected.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 13; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We manufacture and assemble all our products at one facility.
Any prolonged disruption in the operations of this facility would result in a decline in our sales and profitability.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We manufacture and assemble our products and systems
at our production facility located in Milton, New York. Any prolonged disruption in the operations of our manufacturing and assembly facility,
whether equipment or information technology infrastructure failure, labor difficulties, prolonged health emergencies, destruction of or
damage to this facility as a result of a hurricane, earthquake, fire, flood, other catastrophes, and other operational problems would
result in a decline in our sales and profitability. In the event of a business interruption at our facility, we may be unable to shift
manufacturing and assembly capabilities to alternate locations, accept materials from suppliers or meet customer shipment needs, among
other severe consequences. Such an event could have a material and adverse impact on our financial condition and results of our operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Failure to obtain adequate supplies of components and raw materials
or failure to obtain components or raw materials at affordable prices could negatively affect our ability to supply products to our customers
and negatively affect our profit margins.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We use a variety of components and raw materials
in the manufacture of our products. As other industries develop products utilizing similar components and raw materials that we use, we
may not be able to obtain adequate supplies of components and raw materials required for the manufacture of our existing and future products
that would prevent us from supplying products to our customers and materially affect our business. Furthermore, any increased demand for,
the raising of tariff rates on, or an increase of non-tariff trade barriers that apply to the components and raw materials that we use
could increase the price we must pay to obtain them and could adversely affect our profitability, which would have an adverse effect on
our financial results.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Recently, we have encountered challenges in our
supply of various materials and components, and electronic components in particular, due to well-documented shortages and constraints
in the global supply chain. Lead times for ordered components may vary significantly, and some components used to manufacture our products
are provided by a limited number of sources.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We may rely on sub-contractors to meet current demand for our
products, and we may need to obtain additional manufacturing capacity in order to increase production of our existing products or to produce
our proposed new products, the failure of which could have a material adverse effect on our operations.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We may not have sufficient internal manufacturing
capacity to meet the current demand for our products, and we may need to rely on&#160;subcontractors to enable us to meet this demand.
Since we may rely on our subcontractors for a significant amount of our production capacity, the loss of the services of our subcontractors
would have a material adverse effect on our business. Our plans for the growth of our business rely upon increasing sales of our existing
products and systems and developing and marketing new products. We may not have adequate internal manufacturing facilities to substantially
increase production of our products and obtaining additional manufacturing capacity in-house could require substantial capital expenditures.
We may not have the capital resources to obtain or construct new facilities to expand manufacturing capacity and meet increasing demand
for our products, which could have a material adverse effect on our operations. Conversely, any significant decrease in demand for our
products could create idle plant capacity and an inability to cover fixed costs, which could adversely impact our results of operations
and financial condition.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 14; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We are exposed to risks related to our international sales,
and the failure to manage these risks could harm our business.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">In addition to our net sales to customers within
the U.S. and Canada, we may become increasingly dependent on net sales to customers outside the U.S. and Canada as we pursue expanding
our business with customers worldwide. In the fiscal years ended February 29, 2024 and February 28, 2023, our net sales outside of the
U.S. and Canada accounted for approximately 45% and 55%, respectively, of our total net sales. We continue to expect that a significant
portion of our future revenues will be from international sales. As a result, the occurrence of any international, political, economic,
or geographic event could result in a significant decline in revenue. There are significant risks associated with conducting operations
internationally, requiring significant financial commitments to support such operations. These numerous and sometimes conflicting laws
and regulations include internal control and disclosure rules, data privacy and filtering requirements, anti-corruption laws, such as
the Foreign Corrupt Practices Act, and other local laws prohibiting corrupt payments to governmental officials, and anti-competition regulations,
among others.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Violations of these laws and regulations could
result in fines and penalties, criminal sanctions against us, our officers, or our employees, prohibitions on the conduct of our business
and on our ability to offer our products and services in one or more countries, and could also materially affect our brand, our international
expansion efforts, our ability to attract and retain employees, our business, and our operating results. Although we have implemented
policies and procedures designed to ensure compliance with these laws and regulations, there can be no assurance that our employees, contractors,
or agents will not violate our policies.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Some of the risks and challenges of conducting
business internationally include:</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 7%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 4%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 89%; font-family: Cambria,serif; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">requirements or preferences for domestic products or solutions, which could reduce demand for our products;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">unexpected changes in regulatory requirements;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">restrictions on the import or export of critical technology;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">management communication and integration problems resulting from cultural and geographic dispersion;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">the burden of complying with a variety of laws and regulations in various countries;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">difficulties in enforcing contracts;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">the uncertainty of protection for intellectual property rights in some countries;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">application of the income tax laws and regulations of multiple jurisdictions, including relatively low-rate and relatively high-rate jurisdictions, to our sales and other transactions, which results in additional complexity and uncertainty;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">tariffs and trade barriers, export regulations and other regulatory and contractual limitations on our ability to sell products;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">failure to comply with both U.S. and foreign laws, including export and antitrust regulations, the Foreign Corrupt Practices Act and any trade regulations ensuring fair trade practices;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">heightened risk of unfair or corrupt business practices in certain geographies and of improper or fraudulent sales arrangements that may impact financial results and result in restatements of, or irregularities in, financial statements;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">potentially adverse tax consequences, including multiple and possibly overlapping tax structures;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">general economic and geopolitical conditions, including war and acts of terrorism;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">lack of the availability of qualified third-party financing; and</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">currency exchange controls.&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">While these factors and the impacts of these factors
are difficult to predict, any one or more of them could adversely affect our business, financial condition and results of operations in
the future.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 15; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Any liability damages resulting from technical faults or failures
of our products could be substantial and could materially adversely affect our business and results of operations.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our products are used by customers and integrated
into customers&#8217; machines and systems, and therefore a malfunction or the inadequate design of our products could result in product
liability claims. Any liability for damages resulting from technical faults or failures could be substantial and could materially adversely
affect our business and results of operations. In addition, a well-publicized actual or perceived problem could adversely affect the market&#8217;s
perception of our products, which would materially impact our financial condition and operating results.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Inflationary Pressures and Rising Prices for Goods and Services.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Inflation rose sharply beginning in late 2021
and continued rising through 2022, leveling off in 2023 at rates not seen for over 40 years. Although the Federal Reserve has significantly
increased interest rates in response to rising inflation, inflationary pressures are currently expected to remain elevated throughout
2024. Small to medium-sized businesses may be impacted more during periods of high inflation as they are not as able to leverage economics
of scale to mitigate cost pressures compared to larger businesses. Inflation has the potential to adversely affect our liquidity, business,
financial condition and results of operations by increasing our overall cost structure, particularly if we are unable to achieve commensurate
increases in the prices we charge our customers. The existence of inflation in the economy has resulted in, and may continue to result
in, higher interest rates and capital costs, shipping costs, supply shortages, increased costs of labor, weakening exchange rates and
other similar effects. As a result of inflation, we have experienced and may continue to experience, cost increases. Although we may take
measures to mitigate the impact of this inflation, if these measures are not effective our business, financial condition, results of operations
and liquidity could be materially adversely affected. Even if such measures are effective, there could be a difference between the timing
of when these beneficial actions impact our results of operations and when the cost inflation is incurred.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We could become liable for damages resulting from our manufacturing
activities, which could have a material adverse effect on our business or cause us to cease operations.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The nature of our manufacturing operations exposes
us to potential claims and liability for environmental damage, personal injury, loss of life and damage to, or destruction of, property.
Our manufacturing operations are subject to numerous laws and regulations that govern environmental protection and human health and safety.
These laws and regulations have changed frequently in the past and it is reasonable to expect additional and more stringent changes in
the future. Our manufacturing operations may not comply with future laws and regulations, and we may be required to make significant unanticipated
capital and operating expenditures to bring our operations within compliance with such evolving regulations. If we fail to comply with
applicable environmental laws and regulations, manufacturing guidelines, and workplace safety requirements, governmental authorities may
seek to impose fines and penalties on us or to revoke or deny the issuance or renewal of operating permits, and private parties may seek
damages from us. Under such circumstances, we could be required to curtail or cease operations, conduct site remediation or other corrective
action, or pay substantial damage claims for which may not have sufficient or any insurance coverage for claims.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 16; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>If we fail to maintain an effective system of internal control
over financial reporting, we may not be able to accurately report our financial results, and current and potential stockholders may lose
confidence in our financial reporting.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Section 404 of the Sarbanes-Oxley Act of 2002
requires our management to assess the effectiveness of our internal control over financial reporting and to disclose in our filing if
such controls were unable to provide assurance that a material error would be prevented or detected in a timely manner. We have an ongoing
program to review the design of our internal controls framework in keeping with changes in business needs, implement necessary changes
to our controls design and test the system and process controls necessary to comply with these requirements. If in the future, our internal
controls over financial reporting are determined to be not effective resulting in a material weakness or significant deficiency, investor
perceptions regarding the reliability of our financial statements may be adversely affected which could cause a decline in the market
price of our stock and otherwise negatively affect our liquidity and financial condition.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We may have risks associated with security of our information
technology systems.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We make significant efforts to maintain the security
and integrity of our information technology systems and data. Despite significant efforts to create security barriers to such systems,
it is virtually impossible for us to entirely mitigate this risk. There is a risk of industrial espionage, cyber-attacks, misuse or theft
of information or assets, or damage to assets by people who may gain unauthorized access to our facilities, systems, or information. Such
cybersecurity breaches, misuse, or other disruptions could lead to the disclosure of confidential information; improper usage and distribution
of our intellectual property; theft, manipulation, and destruction of private and proprietary data; and production downtimes. Although
we actively employ measures to prevent unauthorized access to our information systems, preventing unauthorized use or infringement of
our rights is inherently difficult. These events could adversely affect our financial results and any legal action in connection with
any such cybersecurity breach could be costly and time-consuming and may divert management&#8217;s attention and adversely affect the
market&#8217;s perception of us and our products. In addition, we must frequently expand our internal information system to meet increasing
demand in storage, computing and communication, which may result in increased costs. Our internal information system is expensive to expand
and must be highly secure due to the sensitive nature of our customers&#8217; information that we transmit. Building and managing the
support necessary for our growth places significant demands on our management and resources. These demands may divert such resources from
the continued growth of our business and implementation of our business strategy.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">RISKS RELATED TO OUR COMMON STOCK</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Future equity financings and issuances of shares under equity
compensation plans would dilute your ownership and could adversely affect your common stock ownership rights in comparison with those
of other security holders.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our board of directors has the power to issue
additional shares of common stock without stockholder approval. Additional shares are subject to issuance through various equity compensation
plans or through the exercise of currently outstanding equity awards. Our stockholders do not have preemptive rights to any common stock
issued by us in the future; therefore, stockholders may experience additional dilution of their equity investment if we issue additional
shares of common stock in the future, including shares issuable under equity incentive plans, or if we issue securities that are convertible
into shares of our common stock.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">If additional funds are raised through the issuance
of equity securities, the percentage of ownership of our existing stockholders will be reduced, and such newly issued securities may have
rights, preferences or privileges senior to those of existing stockholders. If we issue additional common stock or securities convertible
into common stock, such issuance will reduce the proportionate ownership and voting power of each other stockholder. In addition, such
stock issuances might result in a reduction of the market value of our common stock, which could make our stock unattractive to existing
stockholders.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 17; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Provisions in our articles of incorporation and bylaws could
discourage changes in the composition of our board of directors which could hinder an acquisition of us by a third party, even if the
acquisition would be favorable to you, thereby adversely affecting existing stockholders.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our articles of incorporation and bylaws contain
provisions that may have the effect of making more difficult or delaying attempts by others to obtain control of our board of directors
and our Company, even when these attempts may be in the best interests of stockholders. For example, our articles of incorporation and
bylaws provide for a classified board of directors which could delay or prevent changes in our control or management, including transactions
in which stockholders might otherwise receive a premium for their shares over then-current market prices. These provisions may also limit
the ability of stockholders to approve transactions that they may deem to be in their best interests.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>There is limited trading volume of our common stock, which could
make it difficult for you to liquidate an investment in our common stock in a timely manner.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Since August 27, 2021, our common stock has been&#160;traded
on the Nasdaq Capital Market under the symbol SOTK. Because there is limited volume in our common stock, investors may not be able to
liquidate their investments when they desire to do so.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">In addition, if we fail to meet the criteria set
forth in SEC and Nasdaq Capital Market rules and regulations, various requirements would be imposed by law on broker-dealers who sell
our securities to persons other than established customers and accredited investors. Consequently, such regulations may deter broker-dealers
from recommending or selling our common stock, which may further affect its liquidity.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>If securities analysts do not publish research or reports about
our business or if they downgrade us or our sector, the price of our common stock could decline.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The trading market for our common stock will depend
in part on research and reports that industry or financial analysts publish about us or our business. Furthermore, if one or more of the
analysts who cover us downgrades us, the industry in which we operate, or the stock of any of our competitors, the price of our common
stock may decline. If one or more of these analysts ceases coverage altogether, we could lose visibility, which could also lead to a decline
in the price of our common stock.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our operating results can fluctuate significantly from period
to period, which makes our operating results difficult to predict and can cause our operating results, in any particular period, to be
less than comparable periods and expectations from time to time.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our operating results have fluctuated significantly
from quarter-to-quarter, period-to-period and year-to-year during our operating history and are likely to continue to fluctuate in the
future due to a variety of factors, many of which are outside of our control. Certain factors that may affect our operating results include,
without limitation, those set forth under &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations
&#8212; Critical Accounting Policies&#8221; in this Annual Report on Form 10-K.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Because we have little or no control over many
of these factors, our operating results are difficult to predict. Any adverse change in any of these factors could negatively affect our
business and results of operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Our revenues, net income and other operating results
are heavily dependent upon the size and timing of customer orders and projects, and the timing of the completion of those projects. The
timing of our receipt of large individual orders, and of project completion, is difficult for us to predict. Because our operating expenses
are based on anticipated revenues over the mid and long-term and because a high percentage of our operating expenses are relatively fixed,
a shortfall or delay in recognizing revenues can cause our operating results to vary significantly from quarter-to-quarter and can result
in significant operating losses or declines in profit margins in any particular quarter. If our revenues fall below our expectations in
any particular quarter, we may not be able, or it may not be prudent for us, to reduce our expenses rapidly in response to the revenue
shortfall, which can result in us suffering significant operating losses or declines in profit margins in that quarter.</p>


<!-- Field: Page; Sequence: 18; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Due to these factors and the other risks discussed
in this Annual Report on Form 10-K, you should not rely on quarter-to-quarter, period-to-period or year-to-year comparisons of our results
of operations as an indication of our future performance. Quarterly, period and annual comparisons of our operating results are not necessarily
meaningful or indicative of future performance. As a result, it is likely that, from time to time, our results of operations or our revenue
backlog could fall below historical levels or the expectations of public market analysts and investors, which could cause the trading
price of our common stock to decline significantly.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>The market price of our common stock has been and may continue
to be volatile.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The market price of our common stock has been
volatile and fluctuates widely in response to various factors that are beyond our control. The price of our common stock is not necessarily
indicative of our operating performance or long-term business prospects. In addition, the securities markets have from time-to-time experienced
significant price and volume fluctuations that are unrelated to the operating performance of particular companies. These market fluctuations
may also materially and adversely affect the market price of our common stock. Factors such as the following could cause the market price
of our common stock to fluctuate substantially:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 6%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 2%; font-family: Cambria,serif">&#8226;</td>
    <td style="width: 92%; font-family: Cambria,serif; text-align: justify">the underlying price of the commodities, materials, equipment that affect our key markets;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">announcements of capital budget changes by major customers;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">the introduction of new products by our competitors;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">announcements of technology advances by us or our competitors;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">current events affecting the political and economic environment in the United States, Europe or Asia;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">conditions or industry trends, including demand for our products, services and technological advances;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">changes to financial estimates by us or by any securities analysts who might cover our stock;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">additions or departures of our key personnel;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">seasonal, economic, or financial conditions;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">our quarterly operating and financial results; or</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">litigation or public concern about the safety of our systems or products;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">the impact of inflation;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#8226;</td>
    <td style="font-family: Cambria,serif; text-align: justify">wars in Ukraine or Gaza; or</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">The realization of any of these risks and other
factors beyond our control could cause the market price of our common stock to decline significantly. The stock market in general experiences,
from time to time, extreme price and volume fluctuations. Periodic and/or continuous market fluctuations could result in extreme volatility
in the price of our common stock, which could cause a decline in the value of our common stock. Price volatility may be worse if the trading
volume of our common stock is low.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Future sales of our common stock, or the perception that future
sales may occur, may cause the market price of our common stock to decline.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">If any significant number of our outstanding shares
are sold, such sales could have a depressive effect on the market price of our stock. We are unable to predict the effect, if any, that
the sale of shares, or the availability of shares for future sale, will have on the market price of the shares prevailing from time to
time. Sales of substantial numbers of shares in the public market, or the perception that such sales could occur, could depress prevailing
market prices for the shares. Such sales may also make it more difficult for us to sell equity securities or equity-related securities
in the future at a time and price that we deem appropriate.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 19; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>The Company is considered a&#160;</i></b>&#8220;<b><i>smaller
reporting company</i></b>&#8221;<b><i>&#160;and is exempt from certain disclosure requirements, which could make our common stock less
attractive to potential investors.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">Rule 12b-2 of the Securities Exchange Act of 1934
("Exchange Act") defines a &#8220;smaller reporting company&#8221; as an issuer that is not an investment company, an asset-backed
issuer, or a majority-owned subsidiary of a parent, that is not a smaller reporting company, and that had a public float of less than
$250 million as of the last business day of its most recently completed second fiscal quarter, computed by multiplying the aggregate worldwide
number of shares of its voting and non-voting common equity held by non-affiliates by the price at which the common equity was last sold,
or the average of the bid and asked prices of common equity, in the principal market for the common equity.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">As a &#8220;smaller reporting company,&#8221;
we are subject to reduced disclosure requirements that are less comprehensive than applicable to issuers that are not &#8220;smaller reporting
companies,&#8221; which could make our stock less attractive to potential investors and could make it more difficult for shareholders
to sell their shares.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We have no current plan to pay dividends on our common stock,
and investors may lose the entire amount of their investment.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;We have no current plans to pay dividends
on our common stock; therefore, investors will not receive any funds absent a sale of their shares. We cannot assure investors of a positive
return on their investment when they sell their shares, nor can we assure that investors will not lose the entire amount of their investment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">GENERAL RISK FACTORS</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>We will continue to incur significant costs as a result of operating
as a public company, and our management may be required to devote substantial time to compliance initiatives that ultimately could have
a material adverse effect on our financial condition and results of operations.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">As a public company, we expect to continue to
incur significant legal, accounting and other expenses. In addition, the Sarbanes-Oxley Act, as well as rules subsequently implemented
by the SEC, have imposed various requirements on public companies, including requiring establishment and maintenance of effective disclosure
and financial controls as well as mandating certain corporate governance practices. Our management and other personnel will continue to
devote a substantial amount of time and financial resources to these compliance initiatives.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">As a &#8220;smaller reporting company&#8221; we
are able to take advantage of certain exceptions to disclosure requirements, including, but not limited to, reduced disclosure obligations
regarding executive compensation in our periodic reports and proxy statements and the exemption from providing a &#8220;Compensation Discussion
and Analysis&#8221; section in our proxy statements; providing only three years of business information; and other &#8220;scaled&#8221;
disclosure requirements that are less comprehensive than issuers that are not smaller reporting companies.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;If we fail to staff our accounting and finance
function adequately or maintain internal control systems adequate to meet the demands that are placed upon us as a public company, we
may be unable to report our financial results accurately or in a timely manner and our business and stock price may suffer. The costs
of being a public company, as well as diversion of management&#8217;s time and attention, may have a material adverse effect on our future
business, financial condition and results of operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>


<!-- Field: Page; Sequence: 20; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Changes in U.S. Generally Accepted Accounting Principles (</i></b>&#8220;<b><i>GAAP</i></b>&#8221;<b><i>)
could adversely affect our financial results and may require significant changes to our internal accounting systems and processes.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We prepare our consolidated financial statements
in conformity with GAAP. These principles are subject to interpretation by the Financial Accounting Standards Board (&#8220;FASB&#8221;),
the SEC and various bodies formed to interpret and create appropriate accounting principles and guidance. The FASB periodically issues
new accounting standards on a variety of topics. For information regarding new accounting standards, please refer to Note&#160;1 and 2,
&#8220;Business Description and Significant Accounting Policies,&#8221;&#160;of the Notes to Consolidated Financial Statements in Part&#160;II,
Item&#160;8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report on Form&#160;10-K. These and other such
standards generally result in different accounting principles, which may significantly impact our reported results or could result in
variability of our financial results.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>In preparing our financial statements we make certain assumptions,
judgments and estimates that affect amounts reported in our consolidated financial statements, which, if not accurate, may significantly
impact our financial results.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">We make assumptions, judgments and estimates for
a number of items, including the fair value of financial instruments, long-lived assets and other intangible assets; the realizability
of deferred tax assets; the recognition of revenue and the fair value of stock option awards; and others. We also make assumptions, judgments
and estimates in determining the accruals for revenue recognition, product warranties, employee-related liabilities, including commissions
and variable compensation, and in determining the allowance or provisions for uncertain tax positions, doubtful accounts, excess or obsolete
inventory, and legal contingencies. These assumptions, judgments and estimates are drawn from historical experience and various other
factors that we believe are reasonable under the circumstances as of the date of the consolidated financial statements. Actual results
could differ materially from our estimates, and such differences could significantly impact our financial results.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Our business could be negatively affected as a result of actions
of activist shareholders, and such activism could impact the trading value of our securities.</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">In recent years, shareholder activists have become
involved in numerous public companies. Shareholder activists frequently propose to involve themselves in the governance, strategic direction
and operations of the Company. Such proposals may disrupt our business and divert the attention of our Board of Directors, management
and employees, and any perceived uncertainties as to our future direction resulting from such a situation could result in the loss of
potential business opportunities, interfere with our ability to execute our strategic plan, be exploited by our competitors, cause concern
to our current or potential customers, and make it more difficult to attract and retain qualified personnel and business partners, all
of which could adversely affect our business. A proxy contest for the election of directors at our annual meeting could also require us
to incur significant legal fees and proxy solicitation expenses. In addition, actions of activist shareholders may cause significant fluctuations
in our stock price based on temporary or speculative market perceptions or other factors that do not necessarily reflect the underlying
fundamentals and prospects of our business.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 21; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>&#160;</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><b><i>Major bank failure&#160;or sustained
financial market illiquidity, or illiquidity at our clearing, cash management and custodial financial institutions, could adversely affect
our business, financial condition and results of operations.</i></b></p>

<p style="font: 10pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in; background-color: white">We face certain risks
in the event of a sustained deterioration of financial market liquidity, as well as in the event of sustained deterioration in the liquidity,
or failure, of our clearing, cash management and custodial financial institutions. In particular:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; background-color: white; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px; padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol; color: black">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify"><span style="color: black">We may be unable to access funds in our investment portfolio, deposit accounts and clearing accounts on a timely basis to settle our payments or to make money transfers. Any resulting need to access other sources of liquidity or short-term borrowing would increase our costs. Any delay or inability to settle our payments or to make money transfers could adversely impact our business, financial condition and results of operations.</span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol; color: #333333">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify"><span style="color: black">In the event of a major bank failure, we could face major risks to the recovery of our bank deposits used for the purpose of settling our payments and to the recovery of a significant portion of our investment portfolio. A substantial portion of our cash, cash equivalents and interest-bearing deposits are either held at financial institutions that are not subject to insurance protection against loss or exceed the deposit insurance limit.</span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol; color: black">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="color: black">We may be unable to borrow from financial institutions or institutional investors on favorable terms, which could adversely impact our ability to pursue our growth strategy and fund key strategic initiatives.</span></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in">If financial liquidity deteriorates, there can
be no assurance we will not experience an adverse effect, which may be material, on our ability to access capital and on our business,
financial condition and results of operations.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="itembc"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 1B</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>UNRESOLVED STAFF COMMENTS - None.</b></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: justify"><b>&#160;</b></td>
    <td style="font-family: Cambria,serif; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 1C</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>CYBERSECURITY Sample Disclosure&#160;&#160;</b></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: justify"><b>&#160;</b></td>
    <td>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span style="text-decoration: underline">Risk Management and Strategy</span></p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">Securing our business information, intellectual
    property, customer and employee data and technology systems is essential for the continuity of our business, meeting applicable regulatory
    requirements and maintaining the trust of our stockholders. Cybersecurity is an important and integrated part of our enterprise risk management
    function that identifies, monitors and mitigates business, operational and legal risks.</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">To help protect us from a major cybersecurity
incident that could have a material impact on operations or our financial results, the Company is in the process of implementing policies,
programs and controls, including technology investments that focus on cybersecurity incident prevention, identification and mitigation.
The steps we expect to take to reduce our vulnerability to cyberattacks and to mitigate impacts from cybersecurity incidents include,
but are not limited to: penetration testing by a third party vendor, agent based security scanning that runs continuously, establishing
information security policies and standards, implementing information protection processes and technologies, monitoring our information
technology systems for cybersecurity threats and implementing cybersecurity training. In addition, we annually purchase a cybersecurity
risk insurance policy that would help defray the costs associated with a covered cybersecurity incident if it occurred.</p>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span style="text-decoration: underline">Governance</span></p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">Our Board of Directors is actively
    engaged in overseeing and reviewing our strategic direction and objectives, taking into account, among other considerations, our
    risk profile and related exposures, including oversight of risks from cybersecurity threats. As part of this oversight, the Company
    will update the Board periodically, and at least annually, on our cybersecurity program, including with respect to particular
    cybersecurity threats, cybersecurity incidents, new developments in our risk profile, the status of projects to strengthen our
    cybersecurity systems, assessments of our cybersecurity program, and the emerging threat landscape.</p>
    <p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: -6in; font-family: Cambria,serif; text-align: justify"><b>&#160;</b></td>
    <td style="font-family: Cambria,serif; text-align: justify">&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item2"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 2</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>DESCRIPTION OF PROPERTIES</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0 0 0 1in; text-align: justify; text-indent: -1in">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We own an industrial park located in Milton, New York. The industrial
park consists of approximately 50,000 square feet of office and warehouse space. Our offices, product development, manufacturing and assembly
facilities are located in the industrial park. We presently utilize 37,000 square feet or 74% of the park for our operations. We believe
our facilities will be adequate for the foreseeable future and the ownership of the industrial park provides us opportunity to expand
as we grow.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Approximately 13,000 square feet of the park is leased or available
for lease to unrelated third parties at any given time.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item3"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 3</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>LEGAL PROCEEDINGS &#8211; None</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item4"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 4</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>MINE SAFETY DISCLOSURES &#8211; Not Applicable</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 22; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="partii"></span></p>
<p style="font: 11pt Cambria,serif; margin: 0"><b><span style="text-decoration: underline">PART II</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item5"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 5</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our common stock currently trades on the Nasdaq Capital Market.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of May 17, 2024, there were 96 record holders of our common stock
and approximately 1,586 beneficial shareholders of our Common Stock.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We have not paid any cash dividends on our Common Stock since inception.
We intend to retain earnings, if any, for use in our business and for other corporate purposes.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item6"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 6</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>RESERVED</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item7"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 7</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline"><b>Forward-Looking Statements</b></span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We discuss expectations regarding our future performance, such as
our business outlook, in our annual and quarterly reports, news releases, and other written and oral statements. These &#8220;forward-looking
statements&#8221; are based on currently available competitive, financial and economic data and our operating plans. They are inherently
uncertain, and investors must recognize that events could turn out to be significantly different from our expectations and could cause
actual results to differ materially. These factors include, among other considerations, general economic and business conditions; political,
regulatory, tax, competitive and technological developments affecting our operations or the demand for our products; inflationary and
supply chain pressures; the recovery of the Electronics/Microelectronics and Medical markets; maintenance of increased order backlog;
the imposition of tariffs; timely development and market acceptance of new products and continued customer validation of our coating technologies;
adequacy of financing; capacity additions, the ability to enforce patents; maintenance of operating leverage; consummation of order proposals;
completion of large orders on schedule and on budget; continued sales growth in the medical and alternative energy markets; successful
transition from primarily selling ultrasonic nozzles and components to a more complex business providing complete machine solutions and
higher value subsystems; and realization of quarterly and annual revenues within the forecasted range of sales guidance.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">We undertake no obligation to update any forward-looking statement.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 23; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Highlights</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Highlights for fiscal 2024 include:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px; padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify">Net sales for fiscal 2024 increased 31% to $19.7 million from $15.1 million, driven by strong shipments to the Alternative/Clean Energy, Industrial and Medical Markets.</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-bottom: 6pt; font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify">The Alternative/Clean Energy Market grew by 96%, an increase of $2.94 million, in part due to a $766,000 shipment of a production scale system to a customer in the solar market; with three additional systems valued at $730,000 each to be manufactured for the same customer remaining in  backlog and all scheduled to ship in FY2025.</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify">Gross profit margin for fiscal 2024 decreased to 50% compared to 50.8% in fiscal 2023. Decreased profit margin was a result of product mix and a Q4 FY2024 realignment of our organizational framework as an outcome of completion of several successful R&amp;D endeavors, which shifted some costs from R&amp;D to cost of goods sold (COGS).</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify">Operating income for fiscal 2024 increased 73% to $1.2 million compared to $683,000 in fiscal 2023, due to the current period&#8217;s increase in gross profit offset by an increase in operating expenses.</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-bottom: 6pt; font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="padding-bottom: 6pt; font-family: Cambria,serif; text-align: justify">Despite record sales, equipment related backlog at February 29, 2024 reached a historical fiscal year end high of $9.1 million compared to the backlog at February 28, 2023 of $8.5 million, an increase of 7%.&#160;&#160;The increase is due to continued strong orders in the second, third and fourth quarters of fiscal 2024 from the clean energy sector.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">Net income was $1.4 million compared to $636k in the prior fiscal year.&#160;&#160;The increase in net income in fiscal year 2024 is a result of an increase in operating income and interest and dividend income partially offset by an increase in operating expenses, an increase in income tax expense and the creation of a $138k reserve related to certain sales tax expenses.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif; text-align: justify">As of February 29, 2024, we had no outstanding debt. Cash, cash equivalents and marketable securities increased $400,000 to $11.8 million at February 29, 2024 compared to $11.4 million on February 28, 2023.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Interest income, dividend income and unrealized gain on marketable securities increased to $562,000 reflecting the high interest rate environment during fiscal 2024.&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><span style="text-decoration: underline">Market and Geographic Diversity</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We have invested significant resources to enhance our market diversity.
By leveraging our core ultrasonic coating technology, we have expanded our portfolio of products, the industries we serve, and the countries
in which we sell our products.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Today, we serve five industries: microelectronics/electronics, medical,
alternative/clean energy, industrial markets, and emerging research and development and other.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We are a geographically diverse company with a presence either directly
or through distributors and trade representatives in the United States and Canada, EMEA (Europe, Middle East and Africa), APAC (Asia Pacific)
and Latin America (including Mexico). In fiscal 2024, approximately 45% of sales originated outside of the United States and Canada.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We have an established infrastructure of application process development
laboratories located at our distributor sites in Japan, China, Germany, Taiwan, Korea and our home office in New York. These laboratories
are equipped with Sono-Tek systems and technical personnel to conduct customer demonstrations and process development for new coating
applications that our customers bring to us. Our engineering, service and sales teams all continue to grow as we expand our addressable
markets and enhance our product line to include larger more sophisticated machinery and systems with increased capabilities.</p>


<!-- Field: Page; Sequence: 24; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We believe that the new products we have introduced, the new markets
we have penetrated, and the expanded regions in which we now sell our products, are a strong foundation for our future sales growth and
enhanced profitability.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">Results of Operations</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>Sales and Gross Profit:</i></b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Fiscal Year Ended</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February&#160;29,</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February&#160;28,</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Change</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">2024</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">2023</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">$</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">%</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; width: 44%; text-align: left">Net Sales</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">19,700,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">15,058,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">4,642,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">31%</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Cost of Goods Sold</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">9,855,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">7,406,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">2,449,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: right">33%</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">Gross Profit</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">9,845,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">7,652,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">2,193,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">29%</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">Gross Profit %</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">50.0%</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">50.8%</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Gross profit increased $2,193,000, or 29% to $9,845,000 for fiscal
2024 compared with $7,652,000 in fiscal 2023. Gross profit margin decreased to 50.0% for fiscal 2024, compared to 50.8% for fiscal 2023.
Overall, the gross profit margin on our products remained relatively consistent when compared to fiscal 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In fiscal 2024 the decrease in gross profit margin is due to increased
indirect salaries, an increase in transportation expenses, increased installation costs and increased warranty costs. In fiscal 2023,
our warranty costs were lower than expected. Warranty costs fluctuate year to year and are a function of product mix. In addition, our
gross profit margin decreased due to the reallocation and recharacterization of specific labor expenses from the engineering department
to cost of goods sold.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">In light of the successful culmination of several innovative R&amp;D endeavors, we have
strategically realigned our operational structure. Historically, certain salary expenditures associated with these initiatives were classified
under the R&amp;D category during the developmental phase. However, following the recent successful completion of several of these development
projects, we have transitioned some of these expenses to the manufacturing labor category. This transition necessitated a change in our
organizational framework, where a select group of individuals now fall under the purview of the manufacturing organization rather than
the engineering team. Effective December 1, 2023, coinciding with the commencement of the fourth quarter of fiscal 2024, we shifted the
cost allocation associated with these individuals to Cost of Goods Sold.&#160; This realignment of labor allocation carries no discernible
impact on our overarching financial performance; however, it does yield noteworthy adjustments to our cost structure. Notably, while our
R&amp;D expenses experienced a modest reduction, our direct labor costs underwent a commensurate increase, resulting in an approximate
2% decline in gross margin for the fourth quarter of fiscal 2024.&#160; This trend is anticipated to continue, with a similar annual impact
anticipated for fiscal 2025.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>Product Sales:</i></b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif; text-align: center">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">Twelve Months Ended</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="font: 11pt Cambria,serif; text-align: center">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February 29,</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center">% of</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February 28,</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center">% of</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">Change</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">2024</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center">Total</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">2023</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center">total</td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">$</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">%</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; width: 34%; text-align: left">Fluxing Systems</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">724,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 6%; text-align: right">4%</td><td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">1,179,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 6%; text-align: right">8%</td><td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">(455,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">)</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 6%; text-align: right">(39%</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Integrated Coating Systems</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">2,889,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">14%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">1,114,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">7%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">1,775,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">159%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left">Multi-Axis Coating Systems</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">10,075,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">51%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">6,785,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">45%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">3,290,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">48%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">OEM Systems</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">1,533,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">8%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">2,144,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">14%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(611,000</td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(28%</td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; padding-bottom: 1pt">Other</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">4,479,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">23%</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">3,836,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">26%</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">643,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">17%</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">TOTAL</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">19,700,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">15,058,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">4,642,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">31%</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 25; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Total sales for the fiscal 2024 grew by 31%, propelled by heightened demand for our Multi-Axis
Coating systems which are commonly used in the clean energy sector. Integrated Coating System sales accelerated by 159%, or $1.8M, to
$2.9M due to continued success with our newly developed float glass coating platform and a newly completed custom-built system tailored
for a key strategic partner within the solar energy market.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Following uncharacteristically high revenue for Printed Circuit Board &#8220;PCB&#8221;
Fluxing systems for our fiscal year ended February 28, 2023, PCB Fluxing sales dipped by 39% for fiscal 2024. Also, sales to our OEM Printed
Circuit Board customers that integrate our ultrasonic nozzles into their own spray fluxers declined, causing OEM sales to decrease by
28%. We believe the slowdown in sales to the PCB spray fluxer market has returned us to what is closer to our historical revenue norms.
The dip in OEM sales was largely mitigated by an increase in spare parts and service-related revenue, which is a growing revenue stream,
categorized in the &#8221;Other&#8221; product category.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>Market Sales:</i></b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="14" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">Twelve
    Months Ended</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">February
    29,</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">%
    of</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">February
    28,</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">%
    of</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">Change</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">2024</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">Total</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: italic bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">total</span></td><td style="font: italic bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">$</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center"><span style="font-size: 8pt">%</span></td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; width: 34%">Electronics/Microelectronics</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">5,602,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 6%; text-align: right">29%</td><td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">5,509,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; width: 6%; text-align: right">37%</td><td style="font: italic 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">93,000</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 6%; text-align: right">2%</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif">Medical</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">4,180,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">21%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">3,702,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">25%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">478,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">13%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left">Alternative Energy</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">5,997,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">30%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">3,060,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">20%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">2,937,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">96%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Emerging R&amp;D and Other</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">315,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">2%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">347,000</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; text-align: right">2%</td><td style="font: italic 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(32,000</td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(9%</td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; padding-bottom: 1pt">Industrial</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">3,606,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">18%</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">2,440,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">16%</td><td style="font: italic 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">1,166,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: right">48%</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">TOTAL</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">19,700,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">15,058,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right">4,642,000</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">31%</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sales to the Alternative/Clean Energy market recorded growth of 96% in fiscal 2024, which
were positively impacted by a growing number of our customers transitioning from our R&amp;D systems to production scale systems that
carry much higher average selling prices.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Electronics market revenue experienced a modest uptick in fiscal year 2024. This growth
was strongly influenced by three significant orders totaling $497,000, from the semiconductor market. However, this positive momentum
was partially tempered by a $455,000 decrease in sales from our PCB spray fluxers.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Medical sales rebounded strongly in the second half of Fiscal 2024 and ended with 13% growth
for fiscal 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Industrial sales remain very strong, showing growth of 48% for fiscal 2024, influenced
by shipment of two next-gen float glass coating systems totaling approximately $700,000, and the last two machines of a multi-system order
to a US based customer for $432,000.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><i>Geographic Sales:</i></b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">Twelve
    Months Ended</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font: 11pt Cambria,serif; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">February&#160;29,</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">February&#160;28,</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">Change</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">2024</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">$</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"><span style="font-size: 8pt">%</span></td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; width: 44%; text-align: left">U.S. &amp; Canada</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">10,878,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">6,804,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">4,074,000</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">60%</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left">Asia Pacific (APAC)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">3,268,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">3,260,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">8,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">0%</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left">Europe, Middle East, Asia (EMEA)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">4,333,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">3,448,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">885,000</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">26%</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Latin America</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">1,221,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">1,546,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(325,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: right">(21%</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">TOTAL</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">19,700,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">15,058,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">4,642,000</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">31%</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In fiscal 2024, approximately 55% of our sales were to US and Canadian
customers. This is compared to 45% in fiscal 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 26; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We continue to record strong sales from the U.S. and Canada, growing 60% for fiscal 2024.
<span style="color: #0D0D0D; background-color: white">This achievement can be attributed to various factors, including proactive governmental
initiatives such as the CHIPS ACT and the Inflation Reduction Act. Additionally, the ongoing trend of onshoring for high-technology products
has significantly bolstered our sales performance in these regions.</span>&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Asia sales remained flat for fiscal 2024. While robust sales from the clean energy sector
were shown from India, South Korea and Singapore, China sales continue a downward trajectory amidst the uncertain economic landscape prevailing
in the region.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #0D0D0D"><span style="background-color: white">In Latin America,
we encountered a discernible decline of 21%, representing a reduction of $325,000. This decrease can be largely attributed to the sluggish
performance in the spray fluxer segment, a market segment commonly associated with our customer base in this region.</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #0D0D0D"><span style="background-color: white">&#160;</span></p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">In fiscal 2024, EMEA sales experienced a notable surge, marking
a 26% increase equivalent to $885,000. This upward trajectory was driven by robust sales in Ireland, where we secured orders and shipments
for two unique machines catering to separate customers within the medical sector. These systems are designed for the specialized coating
of unique implantable devices, reflecting our commitment to innovation in thin film coatings on next gen healthcare devices. Furthermore,
Germany had continued sales growth of our electrolysis membrane coating systems, impacted by government initiatives aimed at fostering
expansion of the clean energy sector.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b><i><span style="text-decoration: underline">Operating Expenses:</span></i></b></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">Twelve
    Months Ended</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">February&#160;29,</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">February&#160;28,</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">Change</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2024</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">$</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">%</span></td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 44%; text-align: left">Research and product development</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,886,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,149,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">737,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">34%</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marketing and selling</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,696,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,170,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">526,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17%</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">General and administrative</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,080,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,650,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">430,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">26%</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Operating Expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,662,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,969,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,693,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">24%</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0; color: #0070C0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Research and Product Development:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Research and product development costs increased $737,000 to $2,886,000
for fiscal 2024 due to increased salaries and related costs and an increase in research and development materials and supplies, which
are used in the focused growth initiatives we continue to implement.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Marketing and Selling:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Marketing and selling costs increased $526,000 to $3,696,000 for fiscal
2024 due to increased salaries and increased travel and trade show expenses.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024, we expended approximately $505,000 for travel
and trade show expenses compared with $398,000 for the prior fiscal year, an increase of $107,000. The increased travel and trade show
expenses are a result of the global lifting of COVID-19 restrictions aligning closely with pre-pandemic levels.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>General and Administrative:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">General and Administrative (G&amp;A) costs increased $430,000 to $2,080,000
for fiscal 2024 due to an increase in salaries, professional fees and corporate expenses. These increases were partially offset by a decrease
in stock-based compensation expense.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 27; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Effective January 1, 2024, Steve Harshbarger became our Chief Executive Officer and President,
having previously served as Chief Operating Officer and President prior to such date. We have implemented adjustments to the allocation
of certain expenses in fiscal 2024 associated with this transition. Specifically, we reclassified the expenses related to Mr. Harshbarger's
compensation in connection with this positional change. Prior to January 1, 2024, we categorized Mr. Harshbarger&#8217;s salary under
sales expenses due to his instrumental involvement in nurturing strategic accounts. In connection with Mr. Harshbarger's assumption of
the principal executive officer role, the costs associated with his compensation have been reallocated to the G&amp;A category ensuring
a more precise representation of resource allocation in our financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In the fourth quarter of fiscal 2024, we were notified by the State of California that
we were required to collect sales tax on our shipments to customers in California. According to California, we have both physical and
economic nexus in the state and are required to collect sales tax. We have taken the position that we do not have physical nexus, but
that we are subject to the economic nexus filing requirements. The California economic nexus requirements have a look back period that
began on April 1, 2019.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">We are in the process of reviewing our sales to California for the period beginning April
1, 2019. For taxable sales, we are in the process of trying to collect any sales tax due from our customers. As of February 29, 2024,
on the basis of a preliminary analysis of our sales to our California customers since April 1, 2019, we have recorded an accrual in the
amount of $138,000 for the estimated sales tax, penalties and interest that we may be required to remit to the State of California.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Operating Income:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our operating income increased $499,000 or 73%, to $1,182,000 in fiscal
2024 compared with $683,000 for the prior fiscal year. In fiscal 2024, the increase in operating margin is a result of an increase in
revenue and gross profit offset by an increase in operating expenses. Operating margin for fiscal 2024 increased to 6% compared with 5%
in the prior fiscal year. As a percentage of net sales, operating expenses decreased 200 basis points to 44% in fiscal 2024 compared with
46% in fiscal 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Interest and Dividend Income:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Interest and dividend income increased $390,000 to $530,000 for fiscal
2024 as compared with $140,000 for the prior fiscal year. The increase in interest and dividend income is due to the reallocation of our
investments into US Treasury securities and certificates of deposit combined with the increase in current interest rates. Our present
investment policy is to invest excess cash in highly liquid, low risk US Treasury securities and certificates of deposit. At February
29, 2024, the majority of our holdings are rated at or above investment grade.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Income Tax Expense:</i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We recorded income tax expense of $303,000 for fiscal 2024 compared
with $154,000 for the prior fiscal year. The increase in income tax expense in fiscal 2024 is due to the increase in income before income
taxes offset by the application of available research and development tax credits.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span style="text-decoration: underline">Net Income:</span></i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Net income increased $805,000 or 127%, to $1,441,000 for fiscal 2024
compared with $636,000 for the prior fiscal year. The increase in net income in fiscal 2024 is a result of an increase in operating income
and interest and dividend income partially offset by an increase in operating expenses and an increase income tax expense.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;&#160;</p>


<!-- Field: Page; Sequence: 28; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Liquidity and Capital Resources</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Working Capital &#8211;</i></b> Our working capital increased
$1,006,000 to $12,123,000 at February 29, 2024 from $11,117,000 at February 28, 2023. The increase in working capital was primarily the
result of the current year&#8217;s net income and non-cash charges partially offset by purchases of equipment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We aggregate cash and cash equivalents and marketable securities in
managing our balance sheet and liquidity. For purposes of the following analysis, the total is referred to as &#8220;Cash.&#8221; At February
29, 2024 and February 28, 2023, our working capital included:</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February&#160;29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February&#160;28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Cash<br/> Increase</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 58%; text-align: left">Cash and cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,135,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3,355,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(1,220,000</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Marketable securities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,712,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,090,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,622,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,847,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,445,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">402,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following table summarizes the accounts and the major reasons
for the $402,000 increase in &#8220;Cash&#8221;:</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: bottom">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 1pt; font-family: Cambria,serif">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; font-family: Cambria,serif; text-align: center"><span style="font-size: 9pt"><b>Impact <br/>
on Cash</b></span></td>
    <td style="padding-bottom: 1pt; font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 1pt; font-family: Cambria,serif">&#160;</td>
    <td style="border-bottom: black 1pt solid; font-family: Cambria,serif"><span style="font-size: 9pt"><b>Reason</b></span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 33%; font-family: Cambria,serif"><span style="font-size: 10pt">Net income, adjusted for non-cash items</span></td>
    <td style="width: 1%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 1%; font-family: Cambria,serif"><span style="font-size: 10pt">$</span></td>
    <td style="width: 10%; font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">1,915,000</span></td>
    <td style="width: 1%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 1%; font-family: Cambria,serif">&#160;</td>
    <td style="width: 53%; font-family: Cambria,serif"><span style="font-size: 10pt">To reconcile increase in cash.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Accounts receivable decrease</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">163,000</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Decrease due to timing of receipts.</span></td></tr>
  <tr style="background-color: rgb(230,239,255)">
    <td style="vertical-align: top; font-family: Cambria,serif"><span style="font-size: 10pt">Inventories increase</span></td>
    <td style="vertical-align: bottom; font-family: Cambria,serif">&#160;</td>
    <td style="vertical-align: bottom; font-family: Cambria,serif">&#160;</td>
    <td style="vertical-align: top; font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">(2,027,000</span></td>
    <td style="vertical-align: top; font-family: Cambria,serif"><span style="font-size: 10pt">)&#160;</span></td>
    <td style="vertical-align: bottom; font-family: Cambria,serif">&#160;</td>
    <td style="vertical-align: bottom; font-family: Cambria,serif"><span style="font-size: 10pt">Additional inventory purchases and increase in work in process due to customer requirements and supply chain delays in receipt of required components.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Customer deposits increase</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">582,000</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Received for new orders.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Accounts payable </span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">239,000</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Timing of disbursements.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Accrued expenses</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">312,000</span></td>
    <td>&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Timing of disbursements.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Prepaid and Other Assets decrease</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">46,000</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Decreased prepaid expenses.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Income taxes payable decrease</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">(33,000)</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Timing of disbursements.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Equipment purchases</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="border-bottom: black 1pt solid; font-family: Cambria,serif">&#160;</td>
    <td style="border-bottom: black 1pt solid; font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">(795,000</span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">)</span></td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Equipment and facilities upgrade.</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; font-family: Cambria,serif"><span style="font-size: 10pt">Net increase in cash</span></td>
    <td style="padding-bottom: 2.5pt; font-family: Cambria,serif">&#160;</td>
    <td style="border-bottom: black 2.25pt double; font-family: Cambria,serif"><span style="font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; font-family: Cambria,serif; text-align: right"><span style="font-size: 10pt">402,000</span></td>
    <td style="padding-bottom: 2.5pt; font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 2.5pt; font-family: Cambria,serif">&#160;</td>
    <td style="padding-bottom: 2.5pt; font-family: Cambria,serif">&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Stockholders&#8217; Equity &#8211;</i></b> Stockholders&#8217;
equity increased $1,645,000 from $14,634,000 at February 28, 2023 to $16,279,000 at February 29, 2024. The increase was a result of the
current year&#8217;s net income of $1,441,000 and $204,000 in additional equity related to stock-based compensation awards. The details
of stock-based compensation are explained in Note 4 in our financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Operating Activities &#8211;</i></b> We generated $1,164,000
of cash in our operating activities in fiscal 2024 compared with generating $1,325,000 in fiscal 2023. The decrease in cash generated
by operating activities was the result of an increase in inventories. This use of cash was partially offset by increases in customer deposits,
increases in accounts payable and accrued expenses and decreases in accounts receivable and prepaid expenses.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin-right: 0; margin-left: 0">In fiscal 2024, we used $2,027,000 of cash compared with using $875,000
in fiscal 2023 for the purchase of inventories, a 132% increase. Approximately half of this increase aligns with Sono-Tek's 31% revenue
growth, necessitating additional inventory to fulfill order demand efficiently. Of the remaining half of the inventory increase, approximately
$730,000, stems from finished goods and work-in-progress items associated with three substantial orders associated with high-volume production
systems. These systems boast high average selling prices and lengthy lead times, with all three scheduled for shipment in fiscal year
2025.</p>

<!-- Field: Page; Sequence: 29; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin-right: 0; margin-left: 0">In addition, approximately $220,000 of finished goods comprise buy-ahead
modules designed to mitigate supply chain challenges. It's anticipated that this figure will decrease to $110,000 by Q3 FY2025, reflecting
improved supply chain conditions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Investing Activities &#8211;</i></b> In fiscal 2024, we used
$2,384,000 in our investing activities compared with using $2,811,000 of cash in fiscal 2023. Capital spending in fiscal 2024 was $795,000
for the purchase or manufacture of equipment, furnishings and leasehold improvements and patent costs. This compares with $556,000 for
the purchase of equipment and furnishings in fiscal 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In fiscal 2024, we used $1,589,000 of cash compared with using $2,255,000
for the purchase of marketable securities in fiscal 2023.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span style="text-decoration: underline">Bank Credit Facilities:</span></i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We currently have a revolving credit line of $1,500,000 and a $750,000
equipment purchase facility, both of which are with a bank. The revolving credit line is collateralized by the Company&#8217;s accounts
receivable and inventory. The revolving line of credit is payable on demand and must be retired for a 30-day period, once annually. As
of February 29, 2024, there were no outstanding borrowings under the line of credit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 29, 2024, $72,000 of the Company&#8217;s credit line
was being utilized to collateralize letters of credit issued to customers that have remitted cash deposits to the Company on existing
orders. The unused portion of the credit line was $1,428,000 as of February 29, 2024. The letters of credit expire in fiscal year 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #212121"><b><i><span style="text-decoration: underline">Backlog</span></i></b></p>

<p style="font: 11pt Aptos,sans-serif; margin: 0; text-align: justify; color: #212121">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #212121">We typically disclose our equipment-related backlog at the close of each
fiscal quarter.&#160; However, we have not previously included our services-related backlog, encompassing repair parts, contract coating,
paid applications development time in our laboratories, and purchase orders for planned paid installation commitments, in our reported
backlog figures.&#160; While historically the services-related backlog has represented an insignificant portion of our total backlog in
dollar terms, our strategic focus is aimed at growing this aspect of our business to become significant in the future.&#160;&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #212121">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; color: #212121">Accordingly, beginning with our fiscal 2024 year-end figures included in
this discussion, we will incorporate service-related backlog into our reported total backlog number and present it separately.&#160; Despite
its current size, we believe that service-related backlog holds potential for considerable growth.&#160; At the end of fiscal year 2024,
our total backlog amounted to $9,277,168, comprised of $9,079,422 in equipment backlog and $197,746 in services-related backlog.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span style="text-decoration: underline">Off - Balance Sheet Arrangements</span></i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We do not have any Off - Balance Sheet Arrangements as of February
29, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span style="text-decoration: underline">Critical Accounting Estimates</span></i></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The discussion and analysis of the Company&#8217;s financial condition
and results of operations are based upon the Company&#8217;s consolidated financial statements, which have been prepared in accordance
with accounting principles generally accepted in the United States of America. The preparation of these financial statements requires
the Company to make estimates and judgments that affect the reported amount of assets and liabilities, revenues and expenses, and related
disclosure on contingent assets and liabilities at the date of the financial statements. Actual results may differ from these estimates
under different assumptions and conditions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 30; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">Management&#8217;s estimates and judgements are continually evaluated and are based
on historial experience and expectations regarding future events that are believed to be reasonable under the specific circumstances.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Critical accounting estimates are defined as those that are reflective
of significant judgments and uncertainties and may potentially result in materially different results under different assumptions and
conditions. As of February 29, 2024, management believes that there are no critical accounting policies applicable to the Company that
are reflective of significant judgments and or uncertainties.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Accounting for Income Taxes</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company accounts for income taxes under the asset and
liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary
differences&#8221; by applying enacted statutory tax rates applicable to future years to differences between the financial statement
carrying amounts and the tax basis of existing assets and liabilities. Based on management&#8217;s estimate, if it is more likely
than not that some portion or all of a deferred tax asset will not be realized, a valuation allowance is recognized. Management
evaluates the valuation allowance based on current estimates and historical experience. We use a recognition threshold and a measurement
attribute for financial statement recognition and measurement tax positions taken or expected to be taken in a return. For those
benefits to be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of
February 29, 2024 and February 28, 2023, there were no uncertain tax provisions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Stock-Based Compensation</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The computation of the expense associated with stock-based compensation
requires the use of a valuation model. ASC 718 is a complex accounting standard, the application of which requires significant judgment
and the use of estimates, particularly surrounding Black-Scholes assumptions such as stock price volatility, expected option lives, and
expected option forfeiture rates, to value equity-based compensation. The Company currently uses a Black-Scholes option pricing model
to calculate the fair value of its stock options. The Company primarily uses historical data to determine the assumptions to be used in
the Black-Scholes model and has no reason to believe that future data is likely to differ materially from historical data. However, changes
in the assumptions to reflect future stock price volatility and future stock award exercise experience could result in a change in the
assumptions used to value awards in the future and may result in a material change to the fair value calculation of stock-based awards.
ASC 718 requires the recognition of the fair value of stock compensation in net income.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Revenue Recognition</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company recognizes revenue in accordance with ASC 606, Revenue
from Contracts with Customers, the core principle of which is that an entity should recognize revenue to depict the transfer of promised
goods or services to customers in an amount that reflects the consideration to which the entity expects to be entitled to receive in exchange
for those goods or services.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Judgement is required when determining at what point in time
control of the Company&#8217;s manufactured equipment is transferred to its customers. Management&#8217;s judgement is based on each
customer contract and the transfer of control of the equipment to the customer. The sales revenue to be recorded is based on each contract.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Impact of New Accounting Pronouncements</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In December 2023, the FASB issued ASU 2023-09, <i>Improvements to
Income Tax Disclosures. </i>This ASU requires greater disaggregation of information about a reporting entity&#8217;s effective tax rate
reconciliation as well as information on income taxes paid. This ASU applies to all entities subject to income taxes and is intended to
help investors better understand an entity&#8217;s exposure to potential changes in jurisdictional tax legislation and assess income tax
information that affects cash flow forecasts and capital allocation decisions. This ASU is effective for annual periods beginning after
December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact the adoption of this ASU will have on
its consolidated financial statements and related disclosures.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Other than ASU 2023-09 discussed above, accounting pronouncements
issued but not yet effective have been deemed to be not applicable or the adoption of such accounting pronouncements is not expected
to have a material impact on the financial statements of the Company.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>




<!-- Field: Page; Sequence: 31; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item7a"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 7A</span></b></td>
    <td style="font-family: Cambria,serif"><b>QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK &#8211; Not Required for Smaller Reporting Companies.</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item8"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 8</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our financial statements are presented on pages 43 to 60 of this Report.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item9"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 9</span></b></td>
    <td style="font-family: Cambria,serif"><b>CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE &#8211; None.</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item9a"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 9A</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>CONTROLS AND PROCEDURES</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Evaluation of Disclosure Controls and Procedures</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Our management, with the participation of our Chief Executive Officer
and Chief Financial Officer, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as
defined in Rule 13a-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Act&#8221;)) as of the end of the period covered
by this annual report on Form 10-K.&#160;&#160;Based on this evaluation, our Chief Executive Officer and Chief Financial Officer concluded
that these disclosure controls and procedures were effective as of such date, at a reasonable level of assurance, in ensuring that the
information required to be disclosed by us in the reports we file or submit under the Act is (i) accumulated and communicated to our management
(including the Chief Executive Officer and Chief Financial Officer) in a timely manner, and (ii) recorded, processed, summarized and reported
within the time periods specified in the SEC&#8217;s rules and forms.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Internal Control Over Financial Reporting</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Management is responsible for establishing and maintaining adequate
internal control over financial reporting, as such term is defined in Exchange Act Rules 13a-15(f). Under the supervision and with the
participation of our management, including our Chief Executive Officer (principal executive officer) and Chief Financial Officer (principal
accounting officer), we conducted an evaluation of the effectiveness of our internal control over financial reporting based on the criteria
in Internal Control - Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on our
evaluation, management has concluded that our internal control over financial reporting was effective as of and for the year ended February
29, 2024.&#160;Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements.
Also, projections of any evaluation of effectiveness to future periods are subject to the risks that controls may become inadequate because
of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Changes in Internal Control Over Financial Reporting</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">There was no change in our internal control over financial reporting
(as defined in Rule 13a-15(f) under the Securities Exchange Act of 1934, as amended) that has materially affected, or is reasonably likely
to materially affect, our internal control over financial reporting.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item9bc"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 9B</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>OTHER INFORMATION - <span id="xdx_90F_eecd--Rule10b51ArrAdoptedFlag_dbF_c20231201__20240229_z4oIhoZtCntg" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_90D_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20231201__20240229_zA2RpZqdRA1a" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_90C_eecd--Rule10b51ArrTrmntdFlag_dbF_c20231201__20240229_zAAfzmYOayI1" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_90A_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20231201__20240229_zNiZ5kZQFvN3" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2023-12-012024-02-29" format="ixt:booleanfalse" id="Fact000049" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2023-12-012024-02-29" format="ixt:booleanfalse" id="Fact000050" name="ecd:NonRule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2023-12-012024-02-29" format="ixt:booleanfalse" id="Fact000051" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2023-12-012024-02-29" format="ixt:booleanfalse" id="Fact000052" name="ecd:NonRule10b51ArrTrmntdFlag">None</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></span></span></span></span>.</b></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: justify">&#160;</td>
    <td style="font-family: Cambria,serif; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 9C</span></b></td>
    <td style="font-family: Cambria,serif"><b>DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS. &#8211; Not Applicable.</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 32; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="partiii"></span></p>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>PART III</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item10"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif"><b><span style="text-decoration: underline">ITEM 10</span></b></td>
    <td style="font-family: Cambria,serif"><b>DIRECTORS, EXECUTIVE OFFICERS, AND CORPORATE GOVERNANCE</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><span style="text-decoration: underline">Identification of Directors</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 33%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Name</span></b></span></td>
    <td style="width: 10%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Age&#160;</span></b></span></td>
    <td style="width: 57%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Position with the Company</span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Christopher L. Coccio, Ph.D.</td>
    <td style="font-family: Cambria,serif">83</td>
    <td style="font-family: Cambria,serif; text-align: justify">Executive Chairman and Director</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">R. Stephen Harshbarger</td>
    <td style="font-family: Cambria,serif">56</td>
    <td style="font-family: Cambria,serif; text-align: justify">Chief Executive Officer, President and Director</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Eric Haskell, CPA</td>
    <td style="font-family: Cambria,serif">77</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director*</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">Adeniyi Lawal, Ph.D.</td>
    <td style="font-family: Cambria,serif">67</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Donald F. Mowbray, Ph.D.</td>
    <td style="font-family: Cambria,serif">86</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">Carol O&#8217;Donnell</td>
    <td style="font-family: Cambria,serif">67</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director*</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Joseph Riemer, Ph.D.</td>
    <td style="font-family: Cambria,serif">75</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">Philip A. Strasburg, CPA</td>
    <td style="font-family: Cambria,serif">85</td>
    <td style="font-family: Cambria,serif; text-align: justify">Director*</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">* Member of the Audit Committee.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Board of Directors is divided into two classes. The directors
in each class serve for a term of two years. The terms of the classes are staggered so that only one class of directors is elected at
each annual meeting of the Company. The terms of Dr. Mowbray, Mr. Haskell, Dr. Lawal and Ms. O&#8217;Donnell run until the annual meeting
to be held in 2024, and in each case until their respective successors are duly elected and qualified.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The terms of Drs. Coccio and Riemer and Messrs. Strasburg and Harshbarger
run until the annual meeting to be held in 2025.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Audit Committee</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company has a separate designated standing Audit Committee established
and administered in accordance with SEC rules. The three members of the Audit Committee are Eric Haskell, CPA (who serves as Chairman
of the Audit Committee), Carol O&#8217;Donnell and Philip A. Strasburg, CPA. The Board of Directors has determined that each member of
the Audit Committee meets the independence criteria prescribed by NASDAQ governing the qualifications for audit committee members and
each Audit Committee member meets NASDAQ&#8217;s financial knowledge requirements. The Board of Directors has determined that Mr. Haskell
qualifies as an &#8220;audit committee financial expert,&#8221; as defined in the rules and regulations of the SEC.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Audit Committee is responsible for (i) selecting an independent
public accountant for ratification by the stockholders, (ii) reviewing material accounting items affecting the consolidated financial
statements of the Company, and (iii) reporting its findings to the Board of Directors.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Compensation Committee</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s executive compensation is administered by the
Compensation Committee of the Board of Directors. The members of the Compensation Committee are Drs. Mowbray and Riemer and Mr. Strasburg,
all of whom have been determined by the Board to be independent in accordance with NASDAQ&#8217;s requirement for independent director
oversight of executive officer compensation.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Nominating Committee</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">There have been no changes to the procedures by which shareholders
may recommend nominees to the Board of Directors.</p>


<!-- Field: Page; Sequence: 33; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><span style="text-decoration: underline">Identification of Executive Officers</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 33%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Name</span></b></span></td>
    <td style="width: 10%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Age</span></b></span></td>
    <td style="width: 57%; font-family: Cambria,serif"><span style="font-size: 9pt"><b><span style="text-decoration: underline">Position with the Company</span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Stephen J. Bagley, CPA</td>
    <td style="font-family: Cambria,serif">61</td>
    <td style="font-family: Cambria,serif">Chief Financial Officer</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">Christopher C. Cichetti</td>
    <td style="font-family: Cambria,serif">42</td>
    <td style="font-family: Cambria,serif">Vice President &#8211; Sales and Application Engineering</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Christopher L. Coccio, Ph.D.</td>
    <td style="font-family: Cambria,serif">83</td>
    <td style="font-family: Cambria,serif">Executive Chairman and Director</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="font-family: Cambria,serif">R. Stephen Harshbarger</td>
    <td style="font-family: Cambria,serif">56</td>
    <td style="font-family: Cambria,serif">Chief Executive Officer, President and Director</td></tr>
  <tr style="vertical-align: top; background-color: rgb(230,239,255)">
    <td style="font-family: Cambria,serif">Maria T. Kuha</td>
    <td style="font-family: Cambria,serif">47</td>
    <td style="font-family: Cambria,serif">Vice President &#8211; Manufacturing Operations</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The foregoing officers are appointed for terms of one year or until
their successors are duly elected and qualified or until terminated by action of the Board of Directors. There are no arrangements or
understandings between any executive officer and any other persons pursuant to which he was or is to be selected as an officer.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Business Experience</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">STEPHEN J. BAGLEY, CPA was appointed Chief Financial Officer of the
Company in June 2005. From 1987 to 1991 he worked in public accounting in various capacities. From 1992 to 2005, he held various leadership
positions as Controller, Chief Financial Officer and Vice President of Finance for companies with up to $45,000,000 in revenues. Mr. Bagley
earned a Bachelor of Science degree from The State University of NY at Oneonta and an MBA from Marist College. He was licensed as a CPA
in 1990. Mr. Bagley served on the OTCQX US Advisory Council from 2019 to 2020. Mr. Bagley is a past President of the Board of Education
for the New Paltz Central School District and a past Chairman of the Audit and Finance Committee for the District.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">CHRISTOPHER C. CICHETTI was appointed Vice President &#8211; Sales
and Application Engineering of the Company in August 2022. Mr. Cichetti joined Sono-Tek in 2005 as an Electrical Engineer and has served
as Application Engineer, Senior Application Engineer, Application Engineering Manager, and Vice President of Application Engineering.
Mr. Cichetti has experience in lab testing, process development, project management, and has successfully implemented several successful
OEM relationships with outside vendors. He is a graduate of Worcester Polytechnic Institute with a major in Computer and Electrical Engineering
and a minor in International Studies.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">DR. CHRISTOPHER L. COCCIO has served as Executive Chairman of the
Company since January 2024. Prior thereto, Dr. Coccio served as Sono-Tek&#8217;s Chief Executive Officer from April 2001 until January
2024. Dr. Coccio has been a Director of the Company since June 1998 and became Chairman of the Board of Directors in August 2007. From
1964 to 1996, he held various engineering, sales, marketing and management positions at General Electric Company, with P&amp;L responsibilities
for up to $100 million in sales and 500 people throughout the United States. He also won an ASME Congressional Fellowship and served with
the Senate Energy Committee in 1976. His business experience includes both domestic and international markets and customers. He founded
a management consulting business in 1996 and was appointed a legislative Fellow on the New York State Assembly&#8217;s Legislative Commission
on Science and Technology from 1996 to 1998. From 1998 to 2001, he worked with Accumetrics Associates, Inc., a manufacturer of digital
wireless telemetry systems, as Vice President of Business Development and member of the Board of Advisors. Dr. Coccio received a B.S.M.E.
from Stevens Institute of Technology, an M.S.M.E. from the University of Colorado, and a Ph.D. from Rensselaer Polytechnic Institute in
Chemical Engineering.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills:
</span></i>Dr. Coccio brings his strategic vision for our Company to the Board together with his leadership, business experience and investor
relations skills. Dr. Coccio has an immense knowledge of our Company and its related applications which is beneficial to the Board. Dr.
Coccio&#8217;s service as Executive Chairman bridges a critical gap between the Company&#8217;s management and the Board, enabling the
Board to benefit from management&#8217;s perspective on the Company&#8217;s business while the Board performs its oversight function.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 34; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">R. STEPHEN HARSHBARGER <span style="color: #212121">has
been Chief Executive Officer and President of the Company since January 2024 and a Director since 2013. Mr. Harshbarger originally </span>joined
Sono-Tek in 1993 <span style="color: #212121">and became President in 2012.</span></p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">Before becoming Chief Executive Officer and
President, Mr. Harshbarger honed his expertise through various pivotal roles within Sono-Tek, including Sales Engineer, Worldwide Sales
and Marketing Manager, Vice President &amp; Director of Electronics and Advanced Energy (E&amp;AE), and Executive Vice President. Under
his stewardship, the sales organization flourished, with a global distribution network spanning over 40 countries and boasting a revenue
surge of over 300%.</p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">Mr. Harshbarger is a recognized authority in
ultrasonic coating equipment, particularly within the electronics, medical device, and advanced energy sectors. Prior to his tenure at
Sono-Tek, he played a pivotal role as the Sales and Marketing Manager for Plasmaco Inc., a pioneer in the development of Flat Panel Displays,
where he spearheaded the establishment of their distribution network, participated in venture capital funding, and introduced the first
flat panels to the Wall Street trading floors.</p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">Mr. Harshbarger graduated from Bentley University,
with a major in Finance and a minor in Marketing.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><i>Key attributes Experience and Skills:</i> Mr. Harshbarger is a
pivotal asset to Sono-Tek and its Board. Renowned as one of the foremost ultrasonic coating experts globally, he has a proven successful
track record of identifying, developing, and implementing innovative technologies for diverse markets and applications. His adeptness
in cultivating robust distribution networks and his deep understanding of ultrasonic coating for new product developments are invaluable
assets that drive the Company&#8217;s growth and innovation. Moreover, Mr. Harshbarger&#8217;s leadership and oversight prowess further
enrich the strategic vision of the Board, ensuring that Sono-Tek remains at the forefront of technological advancement and market leadership.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">ERIC HASKELL, CPA has been a Director since August 2009. He has over
40 years of experience in senior financial positions at several public and private companies.&#160;&#160;He has significant expertise
in the areas of acquisitions and divestitures, strategic planning and investor relations.&#160;&#160;From December 2005 through March
2008, Mr. Haskell served as the Executive Vice President and Chief Financial Officer of SunCom Wireless Holdings, Inc., a company providing
digital wireless communications services which was publicly traded until its merger with a wholly-owned subsidiary of T-Mobile USA, Inc.
in February 2008.&#160;&#160;He also served as a member of SunCom&#8217;s Board of Directors from November 2003 through May 2007.&#160;&#160;From
1989 until April 2004, Mr. Haskell served as the Chief Financial Officer of Systems &amp; Computer Technology Corp., a NASDAQ listed software
and services corporation.&#160;&#160;He has served as Audit Committee Chairman since 2023. Mr. Haskell received a Bachelors Degree in
Business Administration from Adelphi University in 1969.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills:</span></i>
Mr. Haskell&#8217;s training and extensive experience in financial management at both public and private companies provide the Board with
valuable insights. Mr. Haskell&#8217;s significant experience in acquisitions and divestitures and investor relations bring strategic
judgment and experience to the Board. Mr. Haskell&#8217;s strong operational and business background complement his accounting and finance
experience and are valuable resources to the Board as it exercises its oversight duties and support of the Company&#8217;s growth strategies.</p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">MARIA T. KUHA joined Sono-Tek in 2007. Mrs.
Kuha was appointed VP, Manufacturing Operations, Procurement &amp; Logistics in September 2022. Prior to assuming her present position,
Mrs. Kuha served as Operations Director, Purchasing Manager, and several other positions within the procurement aspects of Sono-Tek; providing
extensive expertise in several vital areas of Sono-Tek operations.</p>

<p style="font: 11pt Cambria,serif; text-align: justify; margin-right: 0; margin-left: 0">Prior to joining Sono-Tek, Mrs. Kuha held various
positions in high tech manufacturing companies revolving around purchasing and operations. She holds an AAS in business from Dutchess
County Community College.</p>


<!-- Field: Page; Sequence: 35; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">DR. ADENIYI LAWAL became a Director in April 2024. He has considerable
experience in both industries and academia, having worked with Shell Petroleum Development Company, Texaco Overseas Oil Company, and three
different universities. Currently he&#8217;s a Professor of Chemical Engineering at the Department of Chemical Engineering &amp; Materials
Science, Stevens Institute of Technology where he has been a member of the faculty for over twenty-five years. At Stevens, he has held
several administrative positions, including Program Director, Associate Department Chair, and now, Department Chair. Dr. Lawal has directed
research groups in academia, and has been a highly successful researcher, having executed several multi-million dollar, and multi-year
projects funded by the Department of Energy and the Department of Defense. ACS-Petroleum Research Fund, GAF Materials Corporation, Phillips
Netherlands, and International Flavors &amp; Fragrances have also funded his research. <span style="background-color: white">He has published
extensively in highly esteemed, archival journals and is the recipient of five U.S. and international patents. Dr. Lawal</span> has also
been active in scientific societies, organized and chaired national and international conferences. He received a B.Sc (Honors) Degree
in Engineering from the University of Ibadan, Nigeria, an S.M. Degree from the Massachusetts Institute of Technology and a Ph.D. from
McGill University, Canada, both in Chemical Engineering.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key Attributes, Experience, and Skills:</span></i>
Dr. Lawal&#8217;s core expertise is in catalysis, reaction engineering and process intensification with specific application to renewable
energy. His extensive research experience and knowledge of the renewable energy landscape bring valuable insights to the Board on emerging
local and global business opportunities in green energy. His administrative and leadership experience that has spanned decades is also
of value to the Board.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">DR. DONALD F. MOWBRAY has been a Director since August 2003. He has
been an independent consultant since August 1997. From September 1992 to August 1997, he was the Manager of the General Electric Company&#8217;s
Corporate Research and Development Mechanical Engineering Laboratory. From 1962 to 1992 he worked for the General Electric Company in
a variety of engineering and managerial positions. Dr. Mowbray received a B.S. in Aeronautical Engineering from the University of Minnesota
in 1960, a Master of Science in Engineering Mechanics from the University of Minnesota in 1962 and a Ph.D. from Rensselaer Polytechnic
Institute in Engineering Mechanics in 1968.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills:</span></i>
Dr. Mowbray&#8217;s extensive research and managerial experience enables him to bring valuable insights to the Board. His knowledge of
the Company&#8217;s products and the materials sciences technology underlying them has enabled him to contribute to the Company&#8217;s
advanced products development and designs. Dr. Mowbray also brings leadership and oversight experience to the Board from his General Electric
management background.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">CAROL O&#8217;DONNELL has been a Director since November 2018. Ms.
O&#8217;Donnell joined&#160;Prot&#233;g&#233; Partners, an industry leading firm investing in and seeding smaller and emerging hedge
fund managers in 2016 and has served as Chief Executive Officer since 2018. Prior to joining Prot&#233;g&#233; Partners, Ms. O&#8217;Donnell
was the Director of Legal and Compliance with DARA Capital US, Inc., a Swiss-owned boutique registered investment advisory and wealth
management firm from 2013 to 2016. She also served as General Counsel to Boothbay Fund Management LLC, a registered investment adviser,
from December 2019 through May 2021, and was General Counsel and Chief Compliance Officer of each of the Permal Group and Framework Investment
Group from 2004 through 2011 and from 2002 to 2004, respectively. &#160;Ms. O&#8217;Donnell is admitted to practice law in the States
of New York and Connecticut.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills: </span></i>Ms.
O&#8217;Donnell&#8217;s extensive experience as an attorney enables her to bring valuable strategic insights to the Board in the areas
of corporate governance, finance and securities law. Ms. O&#8217;Donnell also brings leadership and oversight experience to the Board.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 36; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">DR. JOSEPH RIEMER joined the Company in January 2007 as Vice President
of Engineering and has been a Director since August 2007. Dr. Riemer served as President from September 2007 until August 2012 when he
became Vice President of Food Business Development, which position he held until June 2016. Dr. Riemer holds a Ph.D. in Food Science and
Technology from the Massachusetts Institute of Technology (MIT), focusing on food technology, food chemistry, biochemical analysis, and
food microbiology. His experience includes seven years with Pfizer in its Adams Confectionary Division, where he was Director, Global
Operations Development. Dr. Riemer has also held leading positions with several food, food ingredients, and personal care products companies.
He has served in the capacities of research and development, operations, and general management. Prior to joining the Company, he was
a management consultant serving clients in the food, biotech and pharmaceutical industries.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills:</span></i>
Dr. Riemer&#8217;s extensive research and management experience enables him to bring valuable insights to the Board. His considerable
experience in the biotech, food and pharmaceutical industries bring specific product application insights to the Board. Dr. Riemer&#8217;s
previous service as Vice President of Food Business Development helps to provide focus to the Board on this important marketing area.
Dr. Riemer also brings leadership and oversight experience to the Board.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">PHILIP STRASBURG, CPA, has been a Director since August 2004. He is
a retired partner from the firm of Anchin Block and Anchin, LLP and has 40 years of experience in auditing. He served as Audit Committee
Chairman from 2005 through 2023. He was the lead partner on the Sono-Tek account from fiscal 1994 to fiscal 1996. Mr. Strasburg is a certified
public accountant in New York State. He has a Master of Science in economics from The London School of Economics and Political Science
and a Bachelor of Science degree from Lehigh University, where he majored in business administration.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; text-indent: 0.5in"><i><span style="text-decoration: underline">Key attributes, Experience and Skills:</span></i>
Mr. Strasburg&#8217;s training and extensive experience in auditing provide the Board with valuable insights and skills necessary to lead
the Audit Committee. Mr. Strasburg&#8217;s strong operational and business background complement his accounting and finance experience,
and are valuable resources to the Board as it exercises its oversight duties and support of the Company&#8217;s growth strategies.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Section 16(a) Beneficial
Ownership Reporting Compliance</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Section 16(a) of the Securities Exchange Act of 1934 requires the
Company's Directors, executive officers and persons who own more than ten percent of the Company's common stock to file with the Securities
and Exchange Commission initial reports of beneficial ownership and reports of changes of beneficial ownership of common stock. Such persons
are also required by Securities and Exchange Commission regulations to furnish the Company with copies of all such reports. Based solely
on a review of such filings, during the year ended February 29, 2024, all of the Company's Directors and executive officers and holders
of more than ten percent of the Company&#8217;s stock have made timely filings of such reports.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Code of Ethics</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company has adopted a Code of Business Conduct and Ethics that
applies to all directors, officers, and employees. This code of ethics is designed to comply with the NASDAQ marketplace rules related
to codes of conduct. A copy of the Company's Code of Ethics is posted on the "information for investors" web page located at
http://www.sono-tek.com/code-of-ethics/ and is available in print to any shareholder who requests a copy. The Company intends to satisfy
any disclosure requirement under Item 5.05 of Form 8-K regarding an amendment to, or waiver from, a provision of our code of ethics by
posting such information on the Company&#8217;s website.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 37; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"></p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item11"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 11</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>EXECUTIVE COMPENSATION</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following table sets forth the aggregate remuneration paid or
accrued by the Company for fiscal 2024 and fiscal 2023 for each named officer of the Company.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">Summary Compensation Table</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold">Name and <br/> Principal Position</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Year</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Salary<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Bonus<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Stock <br/> Awards</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Option<br/> Awards<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">All Other<br/> Compensation<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Total<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left"><span style="font-size: 10pt">Christopher L. Coccio<sup>1</sup></span></td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 20%; font-size: 10pt; text-align: left">CEO, Executive Chairman</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: center">&#160;</td><td style="width: 7%; font-size: 10pt; text-align: center">2024</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">193,800</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">48,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: center">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: center">0</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">15,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right">7,300</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">264,100</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">and Director</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2023</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">192,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">20,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">15,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">6,373</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">233,773</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left"><span style="font-size: 10pt">R. Stephen Harshbarger<sup>2</sup></span></td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2024</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">252,300</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">55,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">15,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">9,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">331,500</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">CEO, President and Director</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2023</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">249,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">23,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">15,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">8,167</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">295,367</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Stephen J. Bagley</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2024</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">176,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">44,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">7,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">6,600</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">234,600</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Chief Financial Officer</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2023</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">174,800</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">18,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">7,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">5,799</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">206,599</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Christopher C. Cichetti</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2024</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">179,800</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">37,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">27,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">6,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">250,800</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Vice President &#8211; Sales Applications</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">2023</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">168,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">14,200</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: center">&#160;</td><td style="font-size: 10pt; text-align: center">0</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">7,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">5,500</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">195,400</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">All Other Compensation represents Company contributions to the Company&#8217;s
401K plan.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Option awards in the above table are calculated using the Black-Scholes
options pricing model which is further discussed in Note 4 &#8211; Stock Based Compensation, in the Company&#8217;s consolidated financial
statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><sup>1 </sup>Dr. Coccio stepped down as CEO on January 1, 2024 and
became Executive Chairman.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><sup>2 </sup>Mr. Harshbarger became CEO on January 1, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Officer Compensation Arrangements</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024, Dr. Coccio was compensated at the rate of $200,000
per annum, until January 2024, at which time his annual base compensation decreased to $160,000.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024, Mr. Harshbarger was compensated at the rate of
$250,000 per annum, until January 2024, at which time his annual base compensation increased to $265,000.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024, Mr. Bagley was compensated at the rate of $175,000
per annum, until January 2024, at which time his annual base compensation increased to $185,000.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024, Mr. Cichetti was compensated at the rate of $170,000
per annum, until August 2023, at which time his annual base compensation increased to $185,000 per annum and increased to $200,000 per
annum in January 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In addition, each named officer earned bonus compensation based on
the achievement of certain operating objectives.</p>


<!-- Field: Page; Sequence: 38 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">Outstanding Equity Awards at Fiscal Year End</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold">Name</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Number of Securities<br/> Underlying Unexercised<br/> Options (#) Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Number of Securities<br/> Underlying Unexercised<br/> Options (#) Unexercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Option <br/> Exercise Price ($)</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Option <br/> Expiration Date</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 33%; text-align: left">Christopher L. Coccio<sup>1</sup></td><td style="width: 2%">&#160;</td>
    <td style="width: 17%; text-align: right">4,652</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 16%; text-align: right">1,163</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 13%; text-align: center">6.05</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 13%; text-align: center">11/18/2031</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">CEO, Executive Chairman and Director</td><td>&#160;</td>
    <td style="text-align: right">32,680</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">6.26</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">02/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">2,027</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">2,477</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">5,282</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/16/2033</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">R. Stephen Harshbarger<sup>2</sup></td><td>&#160;</td>
    <td style="text-align: right">4,652</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,163</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">6.05</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/18/2031</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">CEO, President and Director</td><td>&#160;</td>
    <td style="text-align: right">13,072</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">3,268</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">6.26</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">02/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,772</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">2,165</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">4,658</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/16/2033</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Stephen J. Bagley</td><td>&#160;</td>
    <td style="text-align: right">2,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">4.45</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">01/15/2031</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Chief Financial Officer</td><td>&#160;</td>
    <td style="text-align: right">7,843</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,961</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">6.26</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">02/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">886</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,082</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">2,329</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/16/2033</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Christopher C. Cichetti</td><td>&#160;</td>
    <td style="text-align: right">2,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">4.45</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">01/15/2031</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Vice President &#8211; Sales Applications</td><td>&#160;</td>
    <td style="text-align: right">7,843</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,961</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">6.26</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">02/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">886</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">1,082</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/17/2032</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">8,540</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">5.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">11/16/2033</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline"><sup>1 </sup></span>Dr.
Coccio stepped down as CEO on January 1, 2024 and became Executive Chairman.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline"><sup>2</sup> </span>Mr.
Harshbarger became CEO on January 1, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Estimated Payments and Benefits Upon Termination or Change in Control</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">On September 1, 2007, the Company entered into identical Executive
Agreements with Stephen J. Bagley, the Company&#8217;s Chief Financial Officer and Christopher L. Coccio, the Company&#8217;s Executive
Chairman.&#160;The Company also entered into an Executive Agreement with R. Stephen Harshbarger, the Company&#8217;s Chief Executive Officer
and President, on March 5, 2008. The agreements, as subsequently amended, provide that in the event of a change of control of the Company
followed by a termination of the executives&#8217; employment under certain circumstances, the officers shall receive severance payments
equal to two years of the executive&#8217;s annual base, commissions and bonus compensation paid by the Company for the previous calendar
year.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Based on last year&#8217;s salary arrangements, if the rights of the
foregoing officers were to be triggered following a change of control, they would be entitled to the following payments from the Company:
Stephen J. Bagley $394,000, Christopher L. Coccio $440,000 and R. Stephen Harshbarger $546,000.</p>


<!-- Field: Page; Sequence: 39 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Severance Agreements</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">On October 20, 2017, the Company entered into identical Executive
Agreements with Stephen J. Bagley, Chief Financial Officer, Christopher L. Coccio, Executive Chairman and R. Stephen Harshbarger Chief
Executive Officer and President. The agreements provide that in the event of termination of the executive&#8217;s employment, other than
for the cause, the officers shall receive severance payments equal to two weeks of compensation for each full year employed by the Company.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333"><span style="text-decoration: underline">Clawback Policy</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333">On November 16, 2023, our
Board adopted an executive compensation recoupment policy consistent with the requirements of the Exchange Act Rule 10D-1 and the Nasdaq
listing standards thereunder, to help ensure that incentive compensation is paid based on accurate financial and operating data, and the
correct calculation of performance against incentive targets. Our policy addresses recoupment of amounts from performance-based awards
paid to all corporate officers, including awards under our equity incentive plans, in the event of a financial restatement to the extent
that the payout for such awards would have been less, or in the event of fraud, or intentional, willful or gross misconduct that contributed
to the need for a financial restatement.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white; color: #333333">&#160;&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Compensation of Directors</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 0 6pt; text-align: justify">Each non-employee director receives $2,500 for each meeting
attended. Directors who are employees of the Company receive no additional compensation for serving as directors. For the year ended February
29, 2024, director compensation was as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">2024 Director Compensation</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Name</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Fees <br/> Earned <br/> or Paid in <br/> Cash ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Stock <br/> Awards<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Option <br/> Awards<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Non-Equity <br/> Incentive Plan<br/> Compensation<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Nonqualified <br/> Deferred <br/> Compensation<br/> Earnings ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">All Other <br/> Compensation<br/> ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total ($)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 17%; font-size: 10pt; text-align: left">Eric Haskell</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">10,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">10,000<sup>1</sup></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt; text-align: right">20,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Donald F. Mowbray</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000<sup>2</sup></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">20,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Carol O&#8217;Donnell</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000<sup>3</sup></td><td style="font-size: 10pt; text-align: left"><sup>&#160;</sup></td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">20,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Philip Strasburg</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000<sup>4</sup></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">20,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Joseph Riemer</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">10,000<sup>5</sup></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">20,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 20px; font-family: Cambria,serif"><span style="font-size: 10pt"><sup>1</sup></span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="font-size: 10pt">During fiscal 2024, Mr. Haskell received a grant of 3,676 options exercisable at $4.79 per share.&#160; At the end of fiscal 2024, Mr. Haskell held an aggregate of 23,026 stock options.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>2</sup></span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="font-size: 10pt">During fiscal 2024, Dr. Mowbray received a grant of 3,676 options exercisable at $4.79 per share.&#160;&#160;At the end of fiscal 2024, Dr. Mowbray held an aggregate of 6,700 stock options.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>3</sup></span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="font-size: 10pt">During fiscal 2024, Ms. O&#8217;Donnell received a grant of 3,676 options exercisable at $4.79 per share.&#160; At the end of fiscal 2023, Ms. O&#8217;Donnell held an aggregate of 13,026 stock options.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>4</sup></span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="font-size: 10pt">During fiscal 2024, Mr. Strasburg received a grant of 3,676 options exercisable at $4.79 per share.&#160; At the end of fiscal 2023, Mr. Strasburg held an aggregate of 10,303 stock options.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>5</sup></span></td>
    <td style="font-family: Cambria,serif; text-align: justify"><span style="font-size: 10pt">During fiscal 2024, Dr. Riemer received a grant of 3,676 options exercisable at $4.79 per share.&#160; At the end of fiscal 2023, Dr. Riemer held an aggregate of 15,026 stock options.</span></td></tr>
  </table>
<p style="font: 10pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Option awards in the above table are calculated using the Black-Scholes
options pricing model which is further discussed in Note 4 &#8211; Stock Based Compensation, in the Company&#8217;s consolidated financial
statements.</p>


<!-- Field: Page; Sequence: 40 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item12"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 12</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS </b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following information is furnished as of May 17, 2024 to indicate
beneficial ownership of the Company's Common Stock by each Director, by each named executive officer, by all Directors and executive officers
as a group, and by each person known to the Company to be the beneficial owner of more than 5% of the Company's outstanding Common Stock.
Such information has been furnished to the Company by the indicated owners. Unless otherwise indicated, the named person has sole voting
and investment power.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: bold 9pt Cambria,serif">Name (and address if more than 5%) of Beneficial owner</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Amount<br/> Beneficially<br/> Owned</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Percent</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-decoration: underline; text-align: left">Directors and Officers</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; width: 72%; text-align: left; padding-left: 0.2in">*Stephen J. Bagley</td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right">63,511</td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left"><sup>1</sup></td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Christopher Cichetti</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">11,479</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>2</sup></td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">**</td><td style="font-size: 11pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Christopher L. Coccio</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">366,658</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>3</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">2.32%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*R. Stephen Harshbarger</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">301,574</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>4</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">1.91%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Eric Haskell</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">25,485</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>5</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Donald F. Mowbray</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">64,864</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Carol O&#8217;Donnell</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">28,326</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>6</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Joseph Riemer</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">26,988</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>7</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Philip A. Strasburg</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">41,721</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>8</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">*Adeniyi Lawal</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">&#8212;</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="font-size: 10pt">**</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">All Executive Officers and Directors as a Group</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">933,742</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>9</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">5.88%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-decoration: underline; text-align: left">Additional 5% owners</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in"><span style="font-size: 10pt">Emancipation Management LLC<sup>11</sup><br/> Charles Frumberg<sup>11</sup><br/> Circle N Advisors, LLC<sup>12</sup></span></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">6,466,261</td><td style="font: 10pt Cambria,serif; text-align: left"><sup>10</sup></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">41.05%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in"><span style="font-size: 10pt">V. Adah Nicklin<sup>13</sup></span></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">915,599</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">5.81%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in"><span style="font-size: 10pt">Richard A. Bayles<sup>14</sup></span></td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">840,536</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">5.34%</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">The above ownership percentages are based on 15,750,880 shares outstanding as of May 17,
2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 10pt Cambria,serif; margin: 0"><i>*c/o Sono-Tek Corporation, 2012 Route 9W, Milton, NY 12547.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i>** Less than 1%</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><sup>1</sup> <i>Includes 11,479 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>2</sup> Includes 11,479 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>3</sup> Includes 4,000 shares held in the name of Dr. Coccio&#8217;s wife and 39,359
options currently exercisable issued under the Company&#8217;s Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>4</sup> Includes 19,496 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>5</sup> Includes 16,326 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>6</sup> Includes 6,326 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><sup>7</sup> <i>Includes 8,326 options currently exercisable issued under the Company&#8217;s
Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>8 </sup>Includes 10,000 shares in the name of Mr. Strasburg&#8217;s wife and 3,603
options currently exercisable issued under the Company&#8217;s Stock Incentive Plans.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>9 </sup>The group total includes 118,930 options currently exercisable issued under
the Company&#8217;s Stock Incentive Plans. The group total does not include 72,526 options that are currently unexercisable. The group
total includes 600 shares and 2,536 currently exercisable options held by Maria Kuha, a Vice President. </i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>10</sup> Emancipation Management LLC, Charles Frumberg and Circle N Advisors share
the power to dispose or to direct the disposition of these shares. The Company does not consider these holders to be &#8220;affiliates&#8221;
of the Company.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>11</sup> The address of this person is 299 Park Avenue, New York, NY 10171.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>12 </sup>The address of this person is 1065 Main Street, Suite F, PO Box 336, Fishkill,
NY 12524.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>13</sup> The address of this person is 3 Rivers Edge, Newburgh, NY 12550.</i></p>

<p style="font: 10pt Cambria,serif; margin: 0"><i><sup>14</sup> The address of this person is 3697 Se Doubleton Drive, Stuart, FL 34997.</i></p>


<!-- Field: Page; Sequence: 41 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>Securities Authorized for Issuance Under Equity Compensation Plans:</b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>EQUITY COMPENSATION PLAN INFORMATION </b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Number of<br/> securities to be<br/> issued upon<br/> exercise of<br/> outstanding options,<br/> warrants and rights<br/> (a)</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Weighted-<br/> average exercise<br/> price of<br/> outstanding options,<br/> warrants and rights<br/> (b)</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">Number of<br/> securities remaining<br/> available for future<br/> issuance under equity<br/> compensation plans<br/> (excluding securities<br/> reflected in column (a))<br/> (c)</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left">Equity compensation plans approved by security holders:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; width: 60%; text-align: left; padding-left: 9pt">2013 Stock Incentive Plan</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 10%; text-align: right">229,749</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 10%; text-align: right">4.99</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 10%; text-align: right">&#8212;</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 9pt">2023 Stock Incentive Plan</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">65,793</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">$</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: right">4.99</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">2,434,207</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; padding-left: 27pt">Total</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">295,542</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">2,434,207</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>Description of Equity Compensation Plans:</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">2013 Stock Incentive Plan</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Under the 2013 Stock Incentive Plan (the "2013 Plan"), up
to 2,500,000 options and shares had been available for grant to officers, directors, consultants and employees of the Company and its
subsidiaries. No additional options or shares could be granted under the 2013 Plan after June 2023. Under the 2013 Plan options expire
ten years after the date of grant. As of February 29, 2024, there were 229,749 options outstanding under the 2013 Plan.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"><span style="text-decoration: underline">2023 Stock Incentive
Plan</span></p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In May 2023, to replace the expiring 2013 Plan, the Company&#8217;s
Board of Directors authorized the creation of the 2023 Stock Incentive Plan (the &#8220;2023 Plan&#8221;) pursuant to which the Company
may grant up to 2,500,000 options or shares to officers, directors, employees and consultants of the Company and its subsidiaries. The
Company&#8217;s shareholders approved the adoption of the 2023 Plan in August 2023. There are currently 65,793 options outstanding under
the 2023 Plan.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Under the 2023 Plan, option prices must be at least 100% of the fair
market value of the common stock at time of grant. For qualified employees, except under certain circumstances specified in the plan or
unless otherwise specified at the discretion of the Board of Directors, no option may be exercised prior to one year after date of grant,
with the balance becoming exercisable in cumulative installments over a three-year period during the term of the option and terminating
at a stipulated period of time after an employee's termination of employment.</p>


<!-- Field: Page; Sequence: 42 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item13"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 13</span></b></td>
    <td style="font-family: Cambria,serif"><b>CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Transactions with Related Persons &#8211; None</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Independence of Directors</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors is comprised of six &#8220;independent
directors&#8221;, as that term is defined under NASDAQ rules, and two directors who are not &#8220;independent directors&#8221;. The Company&#8217;s
&#8220;independent directors&#8221; are Donald Mowbray, Eric Haskell, Carol O&#8217;Donnell, Philip Strasburg, Joseph Riemer and Adeniyi
Lawal. Christopher L. Coccio and R. Stephen Harshbarger are current employees of the Company and therefore are not considered independent.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item14"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif; text-align: justify"><b><span style="text-decoration: underline">ITEM 14</span></b></td>
    <td style="font-family: Cambria,serif; text-align: justify"><b>PRINCIPAL ACCOUNTING FEES AND SERVICES</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Audit Fees</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For fiscal 2024 and 2023 the Company paid or accrued fees of approximately
$171,000 and $146,000, respectively, for services rendered by Marcum LLP, its independent auditors. These fees included audit and review
services.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Audit Related Fees - None</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Tax Fees - None</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">All Other Fees &#8211; None</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Pre-Approval Policies and Procedures</span></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Audit Committee&#8217;s current policy is to pre-approve all audit
and non-audit services that are to be performed and fees to be charged by the Company&#8217;s independent auditor to assure that the provision
of these services does not impair the independence of the auditor. The Audit Committee pre-approved all audit and non-audit services rendered
by the Company&#8217;s principal accountants in fiscal 2024 and fiscal 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 43 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">PART IV</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item15"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 10%; font-family: Cambria,serif"><b><span style="text-decoration: underline">ITEM 15</span></b></td>
    <td style="width: 90%; font-family: Cambria,serif"><b>EXHIBITS AND FINANCIAL STATEMENT SCHEDULES</b></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 11%; font-family: Cambria,serif"><span style="text-decoration: underline"><b>Ex. No</b></span><b>.</b></td>
    <td style="width: 89%; font-family: Cambria,serif"><span style="text-decoration: underline"><b>Description</b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">3(a)<sup>1</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000080617204000003/s-8.txt">Certificate of Incorporation of the Company and all amendments thereto.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">3(b)<sup>2</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000143/ex3-1.htm">By-laws of the Company as amended.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(a) <sup>3</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152007000607/ex10-1.txt">Executive Agreement between Sono-Tek Corporation and Stephen J. Bagley dated September 1, 2007.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(b) <sup>3</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152007000607/ex10-2.txt">Executive Agreement between Sono-Tek Corporation and Christopher L. Coccio dated September 1, 2007.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(c) <sup>4</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152008000396/ex10-1.txt">Executive Agreement between Sono-Tek Corporation and R. Stephen Harshbarger dated March 5, 2008.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(d)<sup>5</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152012000416/ex10m.htm">Amended Executive Agreement between Sono-Tek Corporation and R. Stephen Harshbarger dated March 8, 2012.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(e)<sup>6</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152013000480/eps5215.htm">Sono-Tek Corporation 2013 Stock Incentive Plan.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(f)<sup>7</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152023000232/eps10866_sotk.htm">Sono-Tek Corporation 2023 Stock Incentive Plan.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(g)<sup>8</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152015000345/ex10s.htm">Amended Executive Agreement between Sono-Tek Corporation and Christopher L. Coccio dated August 24, 2014.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(h)<sup>8</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152015000345/ex10t.htm">Amended Executive Agreement between Sono-Tek Corporation and R. Stephen Harshbarger dated August 24, 2014.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(i)<sup>9</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152016000935/ex10u.htm">Amended Executive Agreement between Sono-Tek Corporation and Stephen J. Bagley dated May 21, 2015.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(j)<sup>11</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152017000259/ex10v.htm">Amended Executive Agreement between Sono-Tek Corporation and Christopher L. Coccio dated November 17, 2016.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(k)<sup>10</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152017000259/ex10w.htm">Amended Executive Agreement between Sono-Tek Corporation and R. Stephen Harshbarger dated November 17, 2016.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(l)<sup>10</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152017000259/ex10x.htm">Amended Executive Agreement between Sono-Tek Corporation and Stephen J. Bagley dated November 17, 2016.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(m)<sup>11</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152018000264/ex10v.htm">Letter Agreement between Sono-Tek Corporation and Christopher L. Coccio dated October 20, 2017.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(n)<sup>11</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152018000264/ex10w.htm">Letter Agreement between Sono-Tek Corporation and R. Stephen Harshbarger dated October 20, 2017.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(o)<sup>11</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152018000264/ex10x.htm">Letter Agreement between Sono-Tek Corporation and Stephen J. Bagley dated October 20, 2017.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(p)<sup>12</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10y.htm">Amended and Restated Loan Agreement between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(q)<sup>13</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10z.htm">Addendum to Loan Agreement (Flexline) between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(r)<sup>12</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10aa.htm">Addendum to Loan Agreement (Loan Limit) between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(s)<sup>12</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10bb.htm">Loan Agreement between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">10(t)<sup>12</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10cc.htm">Amended and Restated Revolving Demand Note between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019 .</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">10(u)<sup>12</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000117152019000214/ex10dd.htm">Security Agreement between Sono-Tek Corporation and M&amp;T Bank dated January 17, 2019.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">14<sup>13</sup></td>
    <td style="font-family: Cambria,serif"><a href="http://www.sec.gov/Archives/edgar/data/806172/000142050620001016/ex14.htm">Code of Ethics.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">21<sup>14</sup></td>
    <td style="font-family: Cambria,serif"><a href="ex21.htm">Subsidiaries of Issuer.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">23.1<sup>14</sup></td>
    <td style="font-family: Cambria,serif"><a href="ex23-1.htm">Consent of Marcum LLP</a></td></tr>
</table>

<p style="margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 44 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"></p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif; width: 11%">31.1<sup>14</sup></td>
    <td style="font-family: Cambria,serif; width: 89%"><a href="ex31-1.htm">Rule 13a-14/15d &#8211; 14(a) Certification.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">31.2<sup>14</sup></td>
    <td style="font-family: Cambria,serif"><a href="ex31-2.htm">Rule 13a-14/15d &#8211; 14(a) Certification.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">32.1<sup>14</sup></td>
    <td style="font-family: Cambria,serif"><a href="ex32-1.htm">Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">32.2<sup>14</sup></td>
    <td style="font-family: Cambria,serif"><a href="ex32-2.htm">Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">101.INS<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Instance Document &#8212; This instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">101.SCH<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Taxonomy Extension Schema Document.</td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">101.CAL<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Taxonomy Calculation Linkbase Document.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">101.DEF<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Taxonomy Extension Definition Linkbase Document.</td></tr>
  <tr style="vertical-align: top; background-color: white">
    <td style="font-family: Cambria,serif">101.LAB<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Extension Label Linkbase Document.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">101.PRE<sup>14</sup></td>
    <td style="font-family: Cambria,serif">XBRL Taxonomy Extension Presentation Linkbase Document.</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">104<sup>14</sup></td>
    <td style="font-family: Cambria,serif">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 20px; font-family: Cambria,serif"><span style="font-size: 10pt"><sup>1</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Registration Statement No. 333-11913 on Form S-8 filed on February 18, 2004.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>2</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Current Report on Form 8-K dated March 7, 2019 and filed with the Securities and Exchange Commission on March 13, 2019.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>3</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-QSB for the quarter ended August 31, 2007 </span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>4</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-Q for the quarter ended May 31, 2008. </span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>5</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 29, 2012.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>6</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to Exhibit A to the Company&#8217;s definitive proxy statement filed with the Securities and Exchange Commission on July 25, 2013.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>7</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to Exhibit A to the Company&#8217;s definitive proxy statement filed with the Securities and Exchange Commission on July 20, 2023.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>8</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 29, 2015.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>9</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 29, 2016.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>10</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 28, 2017.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>11</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 28, 2018.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>12</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Form 10-K for the year ended February 28, 2019.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>13</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Incorporated herein by reference to the Company&#8217;s Current Report on Form 8-K dated September 24, 2020 and filed with the Securities and Exchange Commission on September 17, 2020.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt"><sup>14</sup></span></td>
    <td style="font-family: Cambria,serif"><span style="font-size: 10pt">Filed herewith.</span></td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>&#160;</b></p>


<p style="margin-top: 0pt; margin-bottom: 0pt"><span id="item16"></span></p>
<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 96px; font-family: Cambria,serif"><b><span style="text-decoration: underline">ITEM 16</span></b></td>
    <td style="font-family: Cambria,serif"><b>10-K SUMMARY</b></td></tr>
  </table>
<p style="font: 10pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 10pt Cambria,serif; margin: 0">None.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 45 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence -->&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">SONO-TEK CORPORATION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">FORM 10-K</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">ITEM 8</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS AND NOTES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">FOR THE YEARS ENDED FEBRUARY 29, 2024 and February 28, 2023</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM<br/>
Marcum LLP (PCAOB ID No: <span id="xdx_90F_edei--AuditorFirmId_c20230301__20240229_zTJz3q12Uyyb"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000053" name="dei:AuditorFirmId">688</ix:nonNumeric></span>)</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>CONSOLIDATED FINANCIAL STATEMENTS:</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Consolidated Balance Sheets as of February 29, 2024 and February 28,
2023</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Consolidated Statements of Income</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the Years Ended February 29, 2024 and February 28, 2023</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Consolidated Statements of Stockholders' Equity</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the Years Ended February 29, 2024 and February 28, 2023</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Consolidated Statements of Cash Flows</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the Years Ended February 29, 2024 and February 28, 2023</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Notes to Consolidated Financial Statements</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 46; Options: NewSection; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">To the Shareholders and Board of Directors of</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sono-Tek Corporation</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>Opinion on the Financial Statements</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">We have audited the accompanying consolidated balance sheets of Sono-Tek
Corporation (the &#8220;Company&#8221;) as of February 29, 2024 and February 28, 2023, the related consolidated statements of income,
stockholders&#8217; equity and cash flows for each of the two years in the period ended February 29, 2024, and the related notes (collectively
referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects,
the financial position of the Company as of February 29, 2024 and February 28, 2023, and the results of its operations and its cash flows
for each of the two years in the period ended February 29, 2024, in conformity with accounting principles generally accepted in the United
States of America.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>Basis for Opinion</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; 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) ("PCAOB") and are required to be independent
with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities
and Exchange Commission and the PCAOB.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; 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 audits 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: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; 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: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>Critical Audit Matters</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; 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: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">/s/ Marcum LLP</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0"> <span id="xdx_901_edei--AuditorName_c20230301__20240229_zqOkt6wn3j11"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000054" name="dei:AuditorName">Marcum LLP</ix:nonNumeric></span> </p>

<p style="font: 11pt Cambria,serif; margin: 0"><span style="font-variant: small-caps">&#160;</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">We have served as the Company&#8217;s auditor since 2020.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<p style="font: 11pt Cambria,serif; margin: 0"><span id="xdx_90A_edei--AuditorLocation_c20230301__20240229_zVpIkvqugZmi"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" id="Fact000055" name="dei:AuditorLocation">East Hanover, NJ</ix:nonNumeric></span><br/>
May 23, 2024</p>


<!-- Field: Page; Sequence: 47; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>SONO-TEK CORPORATION</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>CONSOLIDATED BALANCE SHEETS</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_304_111_zGlmTaZnLMCg" summary="xdx: Statement - CONSOLIDATED BALANCE SHEETS" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td id="xdx_49F_20240229" style="font: 10pt Cambria,serif; text-align: right">&#160;</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td id="xdx_49D_20230228" style="font: 10pt Cambria,serif; text-align: right">&#160;</td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February 29, <br/> 2024</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February 28, <br/> 2023</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AssetsAbstract_iB_zIIgxPrgDKN3" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: center">ASSETS</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--AssetsCurrentAbstract_iB_zQhe4DE4u787" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Current Assets:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i01I_maCzWKn_zzK8Be6RQLo6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; width: 72%; text-align: left; padding-left: 0.3in">Cash and cash equivalents</td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29" id="Fact000063" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,134,786</ix:nonFraction></td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-02-28" id="Fact000064" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,354,601</ix:nonFraction></td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--MarketableSecuritiesCurrent_i01I_maCzWKn_zoinFkYcSaXf" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Marketable securities</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29" id="Fact000066" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,711,351</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28" id="Fact000067" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,090,000</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsReceivableNetCurrent_i01I_maCzWKn_za1TX7Hs0x61" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Accounts receivable (less allowance of $<span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_c20240229_pp0p0" title="Allowance for doubtful accounts receivable"><span id="xdx_902_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_c20230228_pp0p0" title="Allowance for doubtful accounts receivable"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2024-02-29" id="Fact000072" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2023-02-28" id="Fact000074" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,225</ix:nonFraction></ix:nonFraction></span></span>)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-02-29" id="Fact000069" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,470,711</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-02-28" id="Fact000070" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,633,866</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryNet_i01I_maCzWKn_z1nIF2ko5YF6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; padding-left: 0.3in">Inventories</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-02-29" id="Fact000076" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,221,980</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-02-28" id="Fact000077" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,242,909</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i01I_maCzWKn_znoVQIhXCzO9" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.3in">Prepaid expenses and other current assets</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-02-29" id="Fact000079" format="ixt:numdotdecimal" decimals="0" unitRef="USD">207,738</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-02-28" id="Fact000080" format="ixt:numdotdecimal" decimals="0" unitRef="USD">254,046</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--AssetsCurrent_iTI_mtCzWKn_maCz8KC_zwvaB1FuGn21" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.6in">Total current assets</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2024-02-29" id="Fact000082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,746,566</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-02-28" id="Fact000083" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,575,422</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--Land_iI_maCz8KC_zQQ2RDlYtfI8" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif">Land</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Land" contextRef="AsOf2024-02-29" id="Fact000085" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,000</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Land" contextRef="AsOf2023-02-28" id="Fact000086" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,000</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet_iI_maCz8KC_zy8zinIpbsc8" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left">Buildings, equipment, furnishings and leasehold improvements, net</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" contextRef="AsOf2024-02-29" id="Fact000088" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,832,156</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" contextRef="AsOf2023-02-28" id="Fact000089" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,624,996</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_maCz8KC_zkAEJFeCmEQ2" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Intangible assets, net</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-02-29" id="Fact000091" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,566</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-02-28" id="Fact000092" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,202</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredIncomeTaxAssetsNet_iI_maCz8KC_zJsQiaGDuzb7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt">Deferred tax asset</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2024-02-29" id="Fact000094" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,977</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-02-28" id="Fact000095" format="ixt:numdotdecimal" decimals="0" unitRef="USD">667,098</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--Assets_iTI_mtCz8KC_z5GPbAfPkUif" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">TOTAL ASSETS</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-02-29" id="Fact000097" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,132,265</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-02-28" id="Fact000098" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,174,718</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: center">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_z8106WVVrhD7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: center">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LiabilitiesCurrentAbstract_iB_zjJSYaIseUS5" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left">Current Liabilities:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--AccountsPayableCurrent_i01I_maCzRTV_z3Gft42yBwi5" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Accounts payable</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">$</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-02-29" id="Fact000106" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,049,742</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">$</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-02-28" id="Fact000107" format="ixt:numdotdecimal" decimals="0" unitRef="USD">810,863</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccruedLiabilitiesCurrent_i01I_maCzRTV_z0EcUcjvyEKb" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Accrued expenses</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-02-29" id="Fact000109" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,739,478</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-02-28" id="Fact000110" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,427,446</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--CustomerDeposits_i01I_maCzRTV_zNzcWt6dVuXb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Customer deposits</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:CustomerDeposits" contextRef="AsOf2024-02-29" id="Fact000112" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,419,706</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:CustomerDeposits" contextRef="AsOf2023-02-28" id="Fact000113" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,838,165</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccruedIncomeTaxesCurrent_i01I_maCzRTV_zKZ7Gc9ZICW2" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.3in">Income taxes payable</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="AsOf2024-02-29" id="Fact000115" format="ixt:numdotdecimal" decimals="0" unitRef="USD">414,807</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="AsOf2023-02-28" id="Fact000116" format="ixt:numdotdecimal" decimals="0" unitRef="USD">381,421</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LiabilitiesCurrent_iTI_mtCzRTV_maCzcjt_z4ktDeCQNXKl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.6in">Total current liabilities</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-02-29" id="Fact000118" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,623,733</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-02-28" id="Fact000119" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,457,895</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredIncomeTaxLiabilitiesNet_iI_maCzcjt_z2aupwjf2dse" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt">Deferred tax liability</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2024-02-29" id="Fact000121" format="ixt:numdotdecimal" decimals="0" unitRef="USD">229,534</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2023-02-28" id="Fact000122" format="ixt:numdotdecimal" decimals="0" unitRef="USD">82,865</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--Liabilities_iTI_mtCzcjt_maCz7uO_zdobog18WVrj" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.3in">Total Liabilities</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2024-02-29" id="Fact000124" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,853,267</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-02-28" id="Fact000125" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,540,760</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--CommitmentsAndContingencies_iI_z4nhll5PP3jk" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Commitments and Contingencies (Note 12)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--StockholdersEquityAbstract_iB_zvVfLG4Fraq8" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left">Stockholders&#8217; Equity</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CommonStockValue_i01I_maCzfN1_z5Nv4B6Fekr1" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Common stock, $<span id="xdx_90A_eus-gaap--CommonStockParOrStatedValuePerShare_c20240229_pdd" title="Common stock, par value"><span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_c20230228_pdd" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-02-29" id="Fact000136" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-02-28" id="Fact000138" decimals="INF" unitRef="USDPShares">.01</ix:nonFraction></ix:nonFraction></span></span>
    par value; <span id="xdx_906_eus-gaap--CommonStockSharesAuthorized_c20240229_pdd" title="Common stock, authorized"><span id="xdx_904_eus-gaap--CommonStockSharesAuthorized_c20230228_pdd" title="Common stock, authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-02-29" id="Fact000140" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-02-28" id="Fact000142" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">25,000,000</ix:nonFraction></ix:nonFraction></span></span>
    shares authorized, <span id="xdx_90F_eus-gaap--CommonStockSharesIssued_c20240229_pdd" title="Common stock, issued shares"><span id="xdx_908_eus-gaap--CommonStockSharesOutstanding_c20240229_pdd" title="Common stock, outstanding shares"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-02-29" id="Fact000144" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-02-29" id="Fact000146" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,750,880</ix:nonFraction></ix:nonFraction></span></span>
    and <span id="xdx_909_eus-gaap--CommonStockSharesIssued_c20230228_pdd" title="Common stock, issued shares"><span id="xdx_90A_eus-gaap--CommonStockSharesOutstanding_c20230228_pdd" title="Common stock, outstanding shares"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-02-28" id="Fact000148" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-02-28" id="Fact000150" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,742,073</ix:nonFraction></ix:nonFraction></span></span>
    issued and outstanding as of February 29, 2024, and February 28, 2023, respectively</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-02-29" id="Fact000133" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,509</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-02-28" id="Fact000134" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,421</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--AdditionalPaidInCapital_i01I_maCzfN1_z6FNfK9C0tzb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.3in">Additional paid-in capital</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-02-29" id="Fact000152" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,770,387</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-02-28" id="Fact000153" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,566,898</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--RetainedEarningsAccumulatedDeficit_i01I_maCzfN1_ztp69sc3HGv2" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.3in">Accumulated earnings</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-02-29" id="Fact000155" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,351,102</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-02-28" id="Fact000156" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,909,639</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--StockholdersEquity_iTI_mtCzfN1_maCz7uO_zp8a8yAVklrh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total stockholders&#8217; equity</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29" id="Fact000158" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,278,998</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28" id="Fact000159" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,633,958</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LiabilitiesAndStockholdersEquity_iTI_mtCz7uO_ztJWvO0dC6ml" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-02-29" id="Fact000161" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,132,265</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-02-28" id="Fact000162" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,174,718</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">See accompanying notes to consolidated financial statements.</p>


<!-- Field: Page; Sequence: 48; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>SONO-TEK CORPORATION</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>CONSOLIDATED STATEMENTS OF INCOME</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_30A_113_zNiU1T8Q8kf2" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF INCOME" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49D_20230301_20240229" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20220301_20230228" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Fiscal Year Ended</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">February 29, <br/> 2024</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">February 28, <br/> 2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--Revenues_maCzR0O_z8WLVhpJ2zw8" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 72%; font-size: 10pt; text-align: left">Net Sales</td><td style="width: 2%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-01to2024-02-29" id="Fact000164" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,699,886</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28" id="Fact000165" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,058,203</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--CostOfRevenue_msCzR0O_z2AR7Gfm8kVa" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Cost of Goods Sold</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-03-01to2024-02-29" id="Fact000167" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,855,311</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2022-03-012023-02-28" id="Fact000168" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,406,196</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--GrossProfit_iT_mtCzR0O_maCzBSp_zh6dNLbNL7Qf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 0.5in">Gross Profit</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-03-01to2024-02-29" id="Fact000170" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,844,575</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-03-012023-02-28" id="Fact000171" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,652,007</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingExpensesAbstract_iB_zlwyHOICAGH8" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Operating Expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--ResearchAndDevelopmentExpense_i01_maCzsQL_zzH1d0e7R0V5" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 0.2in">Research and product development</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000176" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,885,773</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-03-012023-02-28" id="Fact000177" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,149,525</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--SellingAndMarketingExpense_i01_maCzsQL_zHUbdEdoN0za" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 0.2in">Marketing and selling</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000179" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,695,870</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2022-03-012023-02-28" id="Fact000180" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,169,730</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--GeneralAndAdministrativeExpense_i01_maCzsQL_zfLE38WfOTJk" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 0.2in">General and administrative</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000182" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,080,447</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2022-03-012023-02-28" id="Fact000183" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,649,761</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OperatingExpenses_iT_mtCzsQL_msCzBSp_zJaO2VKl9VJj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 0.5in">Total Operating Expenses</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2023-03-01to2024-02-29" id="Fact000185" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,662,090</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-03-012023-02-28" id="Fact000186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,969,016</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingIncomeLoss_iT_mtCzBSp_maCzKrN_zjHTUJBLNby9" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Operating Income</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000188" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,182,485</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-03-012023-02-28" id="Fact000189" format="ixt:numdotdecimal" decimals="0" unitRef="USD">682,991</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NonoperatingIncomeExpenseAbstract_iB_zJyBOcRT3Kmj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Other Income (Expense):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InvestmentIncomeInterestAndDividend_maCzKrN_zLtMxt6rwze3" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Interest and Dividend Income</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:InvestmentIncomeInterestAndDividend" contextRef="From2023-03-01to2024-02-29" id="Fact000194" format="ixt:numdotdecimal" decimals="0" unitRef="USD">529,735</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:InvestmentIncomeInterestAndDividend" contextRef="From2022-03-012023-02-28" id="Fact000195" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,042</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_maCzKrN_zQaycew5Dxnf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Net unrealized gain/(loss) on marketable securities</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000197" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,360</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-03-012023-02-28" id="Fact000198" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">33,119</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_iT_mtCzKrN_maCzXYP_zuctPM5D9bm2" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Income before Income Taxes</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="From2023-03-01to2024-02-29" id="Fact000200" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,744,580</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="From2022-03-012023-02-28" id="Fact000201" format="ixt:numdotdecimal" decimals="0" unitRef="USD">789,914</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncomeTaxExpenseBenefit_msCzXYP_zZzW7zXFqvMb" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Income Tax Expense</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000203" format="ixt:numdotdecimal" decimals="0" unitRef="USD">303,117</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000204" format="ixt:numdotdecimal" decimals="0" unitRef="USD">154,009</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ProfitLoss_iT_mtCzXYP_zKqibawdd3Wg" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.5pt">Net Income</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000206" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,441,463</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-03-012023-02-28" id="Fact000207" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,905</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EarningsPerShareBasic_zCWTVxCF4n06" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Basic Earnings Per Share</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-03-01to2024-02-29" id="Fact000209" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-03-012023-02-28" id="Fact000210" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_ziDuBjq4I2S" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Diluted Earnings Per Share</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-03-01to2024-02-29" id="Fact000212" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-03-012023-02-28" id="Fact000213" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i_pdd" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Weighted Average Shares &#8211; Basic</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-03-01to2024-02-29" id="Fact000215" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,743,763</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-03-012023-02-28" id="Fact000216" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,735,451</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_i_pdd" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Weighted Average Shares &#8211; Diluted</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-03-01to2024-02-29" id="Fact000218" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,774,007</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-03-012023-02-28" id="Fact000219" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,769,499</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">See accompanying notes to consolidated financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 49; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>SONO-TEK CORPORATION</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>YEARS ENDED FEBRUARY 29, 2024 AND FEBRUARY 28, 2023</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_30D_114_zl0vR3E70hs1" summary="xdx: Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zgGxS3DkqMG3" style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_4B0_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zTP96y7X6Tel" style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_4B7_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zSbpjrLqBUJ2" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt; font-style: italic">&#160;</td>
    <td style="font-size: 10pt; font-style: italic; text-align: left">&#160;</td><td id="xdx_4B1_z032SgNavdO3" style="font-size: 10pt; font-style: italic; text-align: right">&#160;</td><td style="font-size: 10pt; font-style: italic; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Common Stock<br/> Par Value $.01</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Additional<br/> Paid &#8211; In <br/> Capital</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Accumulated <br/> Earnings</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total Stockholders&#8217;<br/> Equity</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_437_c20220301__20230228_eus-gaap--StockholdersEquity_iS_zqhGvufLtUpa" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 30%; font-size: 10pt; padding-bottom: 1pt">Balance - February 28, 2022</td><td style="width: 2%; font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--SharesOutstanding_iS_c20220301__20230228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zblyJyQucBJg" title="Beginning balance, shares" style="border-bottom: Black 1pt solid; width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-02-28_us-gaap_CommonStockMember" id="Fact000226" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,729,175</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-02-28_us-gaap_CommonStockMember" id="Fact000221" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,292</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-02-28_us-gaap_AdditionalPaidInCapitalMember" id="Fact000222" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,310,287</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-02-28_us-gaap_RetainedEarningsMember" id="Fact000223" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,273,734</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-02-28" id="Fact000224" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,741,313</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_i_pp0p0" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left">Stock based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember" id="Fact000229" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,740</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-03-012023-02-28" id="Fact000231" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,740</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">Cashless exercise of stock options</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_ecustom--CashlessExerciseOfStockOptionsShares_c20220301__20230228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zM8JAmfjthdb" title="Cashless exercise of stock options, shares" style="font-size: 10pt; text-align: right"><ix:nonFraction name="sotk:CashlessExerciseOfStockOptionsShares" contextRef="From2022-03-012023-02-28_us-gaap_CommonStockMember" id="Fact000238" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,898</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-03-012023-02-28_us-gaap_CommonStockMember" id="Fact000233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">129</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember" id="Fact000234" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">129</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt; font-style: italic">&#160;</td>
    <td style="font-size: 10pt; font-style: italic; text-align: left">&#160;</td><td style="font-size: 10pt; font-style: italic; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0236">&#8212;</span></td><td style="font-size: 10pt; font-style: italic; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProfitLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Net Income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-03-012023-02-28_us-gaap_RetainedEarningsMember" id="Fact000242" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,905</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-03-012023-02-28" id="Fact000243" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,905</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_433_c20230301__20240229_eus-gaap--StockholdersEquity_iS_zv6tCaJKGPVg" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Balance - February 28, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharesOutstanding_iS_c20230301__20240229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zAtAyMo74f4h" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" id="Fact000250" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,742,073</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" id="Fact000245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,421</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember" id="Fact000246" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,566,898</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember" id="Fact000247" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,909,639</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28" id="Fact000248" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,633,958</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_zhk73tDJ8jA8" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Stock based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember" id="Fact000253" format="ixt:numdotdecimal" decimals="0" unitRef="USD">203,577</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-03-01to2024-02-29" id="Fact000255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">203,577</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zu3Ai2UBubEf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt">Cashless exercise of stock options</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_ecustom--CashlessExerciseOfStockOptionsShares_c20230301__20240229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_znEUYrHNd9ta" title="Cashless exercise of stock options, shares" style="font-size: 10pt; text-align: right"><ix:nonFraction name="sotk:CashlessExerciseOfStockOptionsShares" contextRef="From2023-03-012024-02-29_us-gaap_CommonStockMember" id="Fact000262" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,807</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-03-012024-02-29_us-gaap_CommonStockMember" id="Fact000257" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember" id="Fact000258" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">88</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0260">&#8212;</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ProfitLoss_zIUg9eaW8wbg" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Net Income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-03-012024-02-29_us-gaap_RetainedEarningsMember" id="Fact000266" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,441,463</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000267" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,441,463</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_431_c20230301__20240229_eus-gaap--StockholdersEquity_iE_za2fEf3cr1we" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Balance - February 29, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharesOutstanding_iE_c20230301__20240229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrraSHmRF4f1" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-02-29_us-gaap_CommonStockMember" id="Fact000274" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,750,880</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_CommonStockMember" id="Fact000269" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,509</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember" id="Fact000270" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,770,387</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_RetainedEarningsMember" id="Fact000271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,351,102</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29" id="Fact000272" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,278,998</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">See accompanying notes to consolidated financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 50; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>SONO-TEK CORPORATION</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_303_112_zToxqsT0Khsi" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" style="border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td id="xdx_494_20230301__20240229_zzuYxv9TaaC8" style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td id="xdx_49A_20220301__20230228_zgw92fkKerdi" style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">Fiscal Year Ended</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February 29, <br/> 2024</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Cambria,serif; text-align: center">February&#160;28,<br/> 2023</td><td style="font: bold 8pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zsmrpEpct3pc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: left">CASH FLOWS FROM OPERATING ACTIVITIES:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ProfitLoss_i01_maCzFII_z6NvQRBHqtf7" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; width: 72%; text-align: left; padding-left: 0.2in">Net Income</td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000279" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,441,463</ix:nonFraction></td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 10pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 10pt Cambria,serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-03-012023-02-28" id="Fact000280" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,905</ix:nonFraction></td><td style="font: 10pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zrRBuEWqQMDg" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">Adjustments to reconcile net income to net cash provided by operating activities:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DepreciationDepletionAndAmortization_i01_maCzFII_zzMQdZ1xNli5" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Depreciation and amortization</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-03-01to2024-02-29" id="Fact000285" format="ixt:numdotdecimal" decimals="0" unitRef="USD">597,166</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-03-012023-02-28" id="Fact000286" format="ixt:numdotdecimal" decimals="0" unitRef="USD">510,868</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--StockOptionPlanExpense_i01_maCzFII_znLW62Ex7S32" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Stock based compensation expense</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000288" format="ixt:numdotdecimal" decimals="0" unitRef="USD">203,577</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-03-012023-02-28" id="Fact000289" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,740</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--AccountsReceivableReserve_i01N_di_msCzFII_zJnwsX7sU0oe" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Accounts receivable reserve</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0291">&#8212;</span></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="sotk:AccountsReceivableReserve" contextRef="From2022-03-012023-02-28" id="Fact000292" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,898</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryLIFOReservePeriodCharge_i01_maCzFII_zKC8MSLlQzwc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Inventory reserve</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryLIFOReservePeriodCharge" contextRef="From2023-03-01to2024-02-29" id="Fact000294" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,875</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryLIFOReservePeriodCharge" contextRef="From2022-03-012023-02-28" id="Fact000295" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,864</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_i01N_di_msCzFII_z6WJZ2oiCMT6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Unrealized (gain) loss on marketable securities</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000297" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,360</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-03-012023-02-28" id="Fact000298" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">33,119</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DeferredIncomeTaxExpenseBenefit_i01_maCzFII_zxoqrTLvM9cf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Deferred tax asset, net</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000300" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">442,210</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000301" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">512,337</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInOperatingAssetsAbstract_i01B_zHZs0ZDIXnE3" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">(Increase) Decrease in:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IncreaseDecreaseInAccountsReceivable_i02N_di_msCzFII_zJJ9eJCY1Iq3" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Accounts receivable</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-03-01to2024-02-29" id="Fact000306" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">163,155</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-03-012023-02-28" id="Fact000307" format="ixt:numdotdecimal" decimals="0" unitRef="USD">497,463</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncreaseDecreaseInInventories_i02N_di_msCzFII_z7yPnHVlLWF4" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; padding-left: 32pt">Inventories</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-03-01to2024-02-29" id="Fact000309" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,026,946</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-03-012023-02-28" id="Fact000310" format="ixt:numdotdecimal" decimals="0" unitRef="USD">874,531</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_i02N_di_msCzFII_zsXcSrFpRfqh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Prepaid expenses and other assets</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2023-03-01to2024-02-29" id="Fact000312" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">46,308</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2022-03-012023-02-28" id="Fact000313" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">69,258</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInOperatingLiabilitiesAbstract_i01B_zAOpH4T1rB29" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">(Decrease) Increase in:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInAccountsPayable_i02_maCzFII_zExCtkxABzg8" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Accounts payable</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2023-03-01to2024-02-29" id="Fact000318" format="ixt:numdotdecimal" decimals="0" unitRef="USD">238,879</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2022-03-012023-02-28" id="Fact000319" format="ixt:numdotdecimal" decimals="0" unitRef="USD">126,352</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccruedLiabilities_i02_maCzFII_zDFaQakF9HL6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Accrued expenses</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2023-03-01to2024-02-29" id="Fact000321" format="ixt:numdotdecimal" decimals="0" unitRef="USD">312,032</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2022-03-012023-02-28" id="Fact000322" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">376,582</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_401_ecustom--IncreaseDecreaseInCustomerDeposit_i02_maCzFII_z8g5FfQtlXN6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 32pt">Customer deposits</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:IncreaseDecreaseInCustomerDeposit" contextRef="From2023-03-01to2024-02-29" id="Fact000324" format="ixt:numdotdecimal" decimals="0" unitRef="USD">581,541</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:IncreaseDecreaseInCustomerDeposit" contextRef="From2022-03-012023-02-28" id="Fact000325" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,670,197</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInAccruedTaxesPayable_i02_maCzFII_z0uOCwaLWl0a" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 32pt">Income taxes payable</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" contextRef="From2023-03-01to2024-02-29" id="Fact000327" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,386</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" contextRef="From2022-03-012023-02-28" id="Fact000328" format="ixt:numdotdecimal" decimals="0" unitRef="USD">322,547</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--NetCashProvidedByUsedInOperatingActivities_iT_mtCzFII_maCzZgF_zCdPYx3w45qh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 32pt">Net Cash Provided by Operating Activities</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-03-01to2024-02-29" id="Fact000330" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,163,866</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-03-012023-02-28" id="Fact000331" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,325,039</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zld5AebUHG01" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: left">CASH FLOWS FROM INVESTING ACTIVITIES:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msCz6AC_zPY4okqAg6S7" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">Purchase of equipment, furnishings and leasehold improvements</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-03-01to2024-02-29" id="Fact000336" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,690</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-03-012023-02-28" id="Fact000337" format="ixt:numdotdecimal" decimals="0" unitRef="USD">555,867</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--SaleOfMarketableSecurities_i01_maCz6AC_zhBQrqzls7t1" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-left: 0.2in">Sale of marketable securities</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:SaleOfMarketableSecurities" contextRef="From2023-03-01to2024-02-29" id="Fact000339" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,237,051</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="sotk:SaleOfMarketableSecurities" contextRef="From2022-03-012023-02-28" id="Fact000340" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,329,159</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--PaymentsToAcquireMarketableSecurities_i01N_pp0p0_di_msCz6AC_z311WGkrD65a" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.2in">Purchase of marketable securities</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2023-03-01to2024-02-29" id="Fact000342" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">21,826,042</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2022-03-012023-02-28" id="Fact000343" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,584,288</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInInvestingActivities_iT_mtCz6AC_maCzZgF_z148oIgvxuR1" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 1pt; padding-left: 0.4in">Net Cash Used In Investing Activities</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-03-01to2024-02-29" id="Fact000345" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,383,681</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-03-012023-02-28" id="Fact000346" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,810,996</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-left: 0.1in">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCzZgF_zVwFY1toGgOj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: left">NET (DECREASE) IN CASH AND CASH EQUIVALENTS</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-03-01to2024-02-29" id="Fact000348" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,219,815</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td><td style="font: 10pt Cambria,serif">&#160;</td>
    <td style="font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-03-012023-02-28" id="Fact000349" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,485,957</ix:nonFraction></td><td style="font: 10pt Cambria,serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-left: 0.1in">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CashAndCashEquivalentsAbstract_iB_zJz50x9V2nu3" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: left">CASH AND CASH EQUIVALENTS:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_i01S_zTSriZM72mC9" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; padding-bottom: 1pt; padding-left: 0.2in">Beginning of year</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-02-28" id="Fact000354" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,354,601</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-02-28" id="Fact000355" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,840,558</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_i01E_z2vXLaA1RMq2" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; padding-left: 0.2in">End of year</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-02-29" id="Fact000357" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,134,786</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-02-28" id="Fact000358" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,354,601</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-left: 0.2in">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zPtX1jrxrppd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: bold 10pt Cambria,serif; text-align: left">Supplemental Cash Flow Disclosure:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--InterestPaidNet_i01_zgyuYs5pM4y2" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 2.5pt; padding-left: 0.2in">Interest Paid</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0363">&#8212;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0364">&#8212;</span></td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxesPaidNet_i01_zLvxJkRYqJWe" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 10pt Cambria,serif; text-align: left; padding-bottom: 2.5pt; padding-left: 0.2in">Income Taxes Paid</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-03-01to2024-02-29" id="Fact000366" format="ixt:numdotdecimal" decimals="0" unitRef="USD">712,092</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-03-012023-02-28" id="Fact000367" format="ixt:numdotdecimal" decimals="0" unitRef="USD">363,590</ix:nonFraction></td><td style="font: 10pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center">See accompanying notes to consolidated financial statements.</p>


<!-- Field: Page; Sequence: 51; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>SONO-TEK CORPORATION</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">YEARS ENDED FEBRUARY 29, 2024 AND FEBRUARY 28, 2023</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: center"><b>&#160;</b></p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000369" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_801_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zInwJH74ZOg3" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 1: <span id="xdx_82D_zyFZLr2OegTb">BUSINESS DESCRIPTION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sono-Tek Corporation (the &#8220;Company&#8221;, &#8220;Sono-Tek&#8221;,
&#8220;We&#8221; or &#8220;Our&#8221;) was incorporated in New York on March 21, 1975. We are the world leader in the design and manufacture
of ultrasonic coating systems for applying precise, thin film coatings to add functional properties, protect or strengthen surfaces on
parts and components for the microelectronics/electronics, alternative energy, medical, industrial and emerging research &amp; development/other
markets. We design and manufacture custom-engineered ultrasonic coating systems incorporating our patented technology, in combination
with strong applications engineering knowledge, to assist our customers in achieving their desired coating solutions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000371" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zt4KiOy1b0V8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 2: <span id="xdx_820_zTSiuVN2YIba">SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000373" name="us-gaap:AdvertisingCostsPolicyTextBlock"><p id="xdx_843_eus-gaap--AdvertisingCostsPolicyTextBlock_z0x3thMIHSlk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_865_zDYgE9GnRRdi">Advertising Expenses</span></i></b><i> - </i>The Company expenses the
cost of advertising in the period in which the advertising takes place. Advertising expense for fiscal 2024 and fiscal 2023 was $<span id="xdx_90E_eus-gaap--AdvertisingExpense_c20230301__20240229_pp0p0" title="Advertising expense"><ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000375" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">371,000</ix:nonFraction></span>
and $<span id="xdx_909_eus-gaap--AdvertisingExpense_c20220301__20230228_pp0p0" title="Advertising expense"><ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="From2022-03-012023-02-28" id="Fact000377" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">297,500</ix:nonFraction></span>, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000379" name="us-gaap:ReceivablesPolicyTextBlock"><p id="xdx_848_eus-gaap--ReceivablesPolicyTextBlock_z0xFhwWLHMmk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z3OqexRZVbJc">Accounts Receivable, net</span> - </i></b>In the normal course of business,
the Company extends credit to customers. Accounts receivable, less an allowance for credit losses, reflect the net realizable value of
receivables and approximate fair value. The Company records a bad debt expense/allowance based on management&#8217;s estimate of uncollectible
accounts. All outstanding accounts receivable accounts are reviewed for collectability on an individual basis.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000381" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zjzbAQCGjLd2" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zKamVy0xydr5">Cash and Cash Equivalents</span></i></b><i> - </i>Cash and cash equivalents
consist of money market mutual funds, short term commercial paper and short-term certificates of deposit with original maturities of 90
days or less. At February 29, 2024, the Company had $<span id="xdx_908_eus-gaap--CashUninsuredAmount_c20240229_pp0p0" title="Cash in excess of the FDIC insured limit"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2024-02-29" id="Fact000383" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,819,000</ix:nonFraction></span> of cash in excess of the FDIC insured limit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000385" name="us-gaap:ConsolidationPolicyTextBlock"><p id="xdx_84C_eus-gaap--ConsolidationPolicyTextBlock_zGZyxLT0iqpl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_zaJEJfk9Nod4">Consolidation</span></i></b> - The accompanying consolidated financial
statements of the Company include the accounts of the Company and its wholly owned subsidiary, Sono-Tek Industrial Park, LLC (&#8220;SIP&#8221;)
in conformity with generally accepted accounting principles in the United States (&#8220;GAAP&#8221;). SIP operates as a real estate holding
company for the Company&#8217;s real estate operations. All intercompany accounts and transactions have been eliminated in consolidation.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000387" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_zmEROVYxSWLl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zxRQPlxEtjZ7">Earnings Per Share</span></i></b><i> - </i>Basic earnings per share
(&#8220;EPS&#8221;) is computed by dividing net income by the weighted-average number of common shares outstanding for the period. Diluted
EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted
into common stock under the treasury stock method.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000389" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_840_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zAp0f73Yx3j7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z9jkXTrC3Ku2">Equipment, Furnishings and Leasehold Improvements</span></i></b> -
Equipment, furnishings and leasehold improvements are stated at cost. Depreciation of equipment and furnishings is computed by use of
the straight-line method based on the estimated useful lives of the assets, which range from three <span id="xdx_90D_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MinimumMember_zdFRgdNUXDyh" title="Estimated useful lives" style="display: none"><ix:nonNumeric contextRef="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MinimumMember" format="ixt-sec:duryear" id="Fact000391" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">3</ix:nonNumeric></span> to five <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MaximumMember_z2Q7sDLdyi9a" title="Estimated useful lives" style="display: none"><ix:nonNumeric contextRef="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MaximumMember" format="ixt-sec:duryear" id="Fact000393" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">5</ix:nonNumeric></span> years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000395" name="us-gaap:FairValueOfFinancialInstrumentsPolicy"><p id="xdx_843_eus-gaap--FairValueOfFinancialInstrumentsPolicy_z51WxAQrRr3i" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zgUuZXo87z4b">Fair Value of Financial Instruments</span> -</i></b> The Company applies
Accounting Standards Codification (&#8220;ASC&#8221;) 820,&#160;<i>Fair Value Measurement&#160;</i>(&#8220;ASC 820&#8221;), which establishes
a framework for measuring fair value and clarifies the definition of fair value within that framework. ASC 820 defines fair value as an
exit price, which is the price that would be received for an asset or paid to transfer a liability in the Company&#8217;s principal or
most advantageous market in an orderly transaction between market participants on the measurement date. The fair value hierarchy established
in ASC 820 generally requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring
fair value. Observable inputs reflect the assumptions that market participants would use in pricing the asset or liability and are developed
based on market data obtained from sources independent of the reporting entity. Unobservable inputs reflect the entity&#8217;s own assumptions
based on market data and the entity&#8217;s judgments about the assumptions that market participants would use in pricing the asset or
liability and are to be developed based on the best information available in the circumstances.</p>


<ix:exclude><!-- Field: Page; Sequence: 52; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The carrying amounts of financial instruments reported in the accompanying
consolidated financial statements for current assets and current liabilities approximate the fair value because of the immediate or short-term
maturities of the financial instruments.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The valuation hierarchy is composed of three levels. The classification
within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement. The levels within
the valuation hierarchy are described below:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 1 &#8212; Assets and liabilities with unadjusted, quoted prices
listed on active market exchanges. Inputs to the fair value measurement are observable inputs, such as quoted prices in active markets
for identical assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 2 &#8212; Inputs to the fair value measurement are determined
using prices for recently traded assets and liabilities with similar underlying terms, as well as direct or indirect observable inputs,
such as interest rates and yield curves that are observable at commonly quoted intervals.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 3 &#8212; Inputs to the fair value measurement are unobservable
inputs, such as estimates, assumptions, and valuation techniques when little or no market data exists for the assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000397" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock"><p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span id="xdx_8B5_zciYqDdtlR97" style="display: none">Schedule of significant accounting policies - fair values of financial assets of the company</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 1</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 2</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 3</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 39%; padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 29, 2024</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member" id="Fact000399" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,711,351</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0401">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0403">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29" id="Fact000405" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,711,351</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel1Member" id="Fact000407" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,361,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel2Member" id="Fact000409" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">729,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0411">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28" id="Fact000413" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,090,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_zF0Yvq2oFsv7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">Marketable Securities include certificates
of deposit and US Treasury securities, totaling $<span id="xdx_90F_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable securities"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2024-02-29" id="Fact000415" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,711,351</ix:nonFraction></span> and $<span id="xdx_90D_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable securities"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-02-28" id="Fact000417" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,090,000</ix:nonFraction></span> that are considered to be highly liquid and easily tradeable
as of February 29, 2024 and February 28, 2023, respectively. US Treasury securities are valued using inputs observable in active markets
for identical securities and are therefore classified as Level&#160;1 and certificates of deposit are classified as Level 2 within the
Company&#8217;s fair value hierarchy. The Company&#8217;s marketable securities are considered to be trading securities as defined under
ASC 320 &#8220;Investments &#8211; Debt and Equity Securities.&#8221;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000419" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_zEskRxnGFOzb" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zd8aot8i1jCh">Income Taxes</span></i></b> - The Company accounts for income taxes
under the asset and liability method. Under this method, deferred income taxes are recognized for the tax consequences of "temporary
differences" by applying enacted statutory tax rates applicable to future years to differences between the financial statement carrying
amounts and the tax basis of existing assets and liabilities. If it is more likely than not that some portion or all of a deferred tax
asset will not be realized, a valuation allowance is recognized. The Company uses a recognition threshold and a measurement attribute
for financial statement recognition and measurement of tax positions taken or expected to be taken in a return. For those benefits to
be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of February 29,
2024 and February 28, 2023, there were <span id="xdx_903_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20240229_zpzypoYbG6v3" title="Uncertain tax positions"><span id="xdx_90C_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20230228_zVEfh0TGTX34" title="Uncertain tax positions"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsCurrent" contextRef="AsOf2024-02-29" id="Fact000421" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsCurrent" contextRef="AsOf2023-02-28" id="Fact000423" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD">no</ix:nonFraction></ix:nonFraction></span></span> uncertain tax positions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000425" name="us-gaap:IntangibleAssetsFiniteLivedPolicy"><p id="xdx_848_eus-gaap--IntangibleAssetsFiniteLivedPolicy_zw1O0WcoMlt1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_86C_zbGPY5mw8val"><b><i>Intangible
Assets</i></b></span><i> - </i>Include costs of patent applications which are deferred and charged to operations over seventeen <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--DomesticPatentsMember_zP5TKsFTRaG1"><ix:nonNumeric contextRef="AsOf2024-02-29_custom_DomesticPatentsMember" format="ixt-sec:duryear" id="Fact000426" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">17</ix:nonNumeric>
</span>years for domestic patents and twelve <span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ForeignPatentsMember_zPC6GvkRuzT5"><ix:nonNumeric contextRef="AsOf2024-02-29_custom_ForeignPatentsMember" format="ixt-sec:duryear" id="Fact000427" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">12</ix:nonNumeric>
</span>years for foreign patents, which is considered the useful life. Amortization expense for
the years ended February 29, 2024 and February&#160;28, 2023 was $<span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_c20230301__20240229_zLwtKqFN3ei8" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-03-01to2024-02-29" id="Fact000429" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,434</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_c20220301__20230228_zZ0O8GpEw7sf" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-03-012023-02-28" id="Fact000431" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,814</ix:nonFraction></span>, respectively. The accumulated amortization
of patents is $<span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20240229_pp0p0"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2024-02-29" id="Fact000432" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">212,861</ix:nonFraction></span> and $<span id="xdx_906_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20230228_pp0p0"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-02-28" id="Fact000433" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">202,681</ix:nonFraction>
</span>at February 29, 2024 and February 28, 2023, respectively. Annual amortization expense of such intangible assets is expected to
be approximately $<span id="xdx_909_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c20240229_pp0p0"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="AsOf2024-02-29" id="Fact000434" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,000</ix:nonFraction></span> per
year for the next five years.</p>


<ix:exclude><!-- Field: Page; Sequence: 53; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000436" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_z3KOsofcF4Yf" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_zfaNS03uxihh">Inventories</span></i></b><i> - </i>Inventories are stated at the lower
of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method for raw materials, subassemblies and work-in-progress
and the specific identification method for finished goods. Management compares the cost of inventory with the net realizable value and,
if applicable, an allowance is made for writing down the inventory to its net realizable value, if lower than cost. On an ongoing basis,
inventory is reviewed for potential write-down for estimated obsolescence or unmarketable inventory based upon forecasts for future demand
and market conditions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000438" name="sotk:LandAndBuildingsPolicyTextBlock"><p id="xdx_846_ecustom--LandAndBuildingsPolicyTextBlock_zmpaxMqkvFf6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86C_zPxT3S0TSIV6">Land and Buildings</span> - </i></b>Land and buildings are stated at
cost. Buildings are being depreciated by use of the straight-line method based on an estimated useful life of <span id="xdx_90F_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229_zVagnxydOBE3" title="Estimated useful lives" style="display: none"><ix:nonNumeric contextRef="AsOf2024-02-29" format="ixt-sec:duryear" id="Fact000440" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">40</ix:nonNumeric></span> forty years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 29, 2024 and February 28, 2023, the Company had Land,
stated at cost of $<span id="xdx_903_eus-gaap--Land_c20240229_pp0p0" title="Land"><ix:nonFraction name="us-gaap:Land" contextRef="AsOf2024-02-29" id="Fact000442" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">250,000</ix:nonFraction></span>.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000444" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"><p id="xdx_846_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zxSCJhx7l2L4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zY8Uvs0TsEc6">Long-Lived Assets</span></i></b><i> - </i>The Company periodically
evaluates the carrying value of long-lived assets, including intangible assets, when events and circumstances warrant such a review. The
carrying value of a long-lived asset is considered impaired when the anticipated undiscounted cash flow from such asset is separately
identifiable and is less than its carrying value. In that event, a loss is recognized based on the amount by which the carrying value
exceeds the fair market value of the long-lived asset. Fair market value is determined primarily using the anticipated cash flows discounted
at a rate commensurate with the risk involved. <span id="xdx_90E_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20230301__20240229_zVroh8d3w8q9" title="Impairment losses"><span id="xdx_90B_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20220301__20230228_zf2TZdFINJbi" title="Impairment losses"><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" contextRef="From2023-03-01to2024-02-29" id="Fact000446" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" contextRef="From2022-03-012023-02-28" id="Fact000448" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD">No</ix:nonFraction></ix:nonFraction></span></span> impairment losses were identified or recorded for the years ended February 29, 2024
and February 28, 2023 on the Company&#8217;s long-lived assets.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000450" name="us-gaap:UseOfEstimates"><p id="xdx_848_eus-gaap--UseOfEstimates_z4xezaCORxxc" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zEK5rdj0YbNa">Management Estimates</span></i></b><i> - </i>The preparation of the
consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported
amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements
and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000452" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_84B_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zdmQ7pdJK184" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zKz25FibKKj4">New Accounting Pronouncements</span> </i></b>&#8211; In June 2016,
the FASB issued ASU 2016-13 - Financial Instruments-Credit Losses-Measurement of Credit Losses on Financial Instruments. Codification
Improvements to Topic 326, Financial Instruments &#8211; Credit Losses, have been released in November 2018 (2018-19), November 2019 (2019-10
and 2019-11) and a January 2020 Update (2020-02) that provided additional guidance on this Topic. This guidance replaces the current incurred
loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable
and supportable information to inform credit loss estimates. For SEC filers meeting certain criteria, the amendments in this ASU are effective
for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. For SEC filers that meet the criteria
of a smaller reporting company (including this Company) and for non-SEC registrant public companies and other organizations, the amendments
in this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2022. Early adoption
will be permitted for all organizations for fiscal years, and interim periods within those fiscal years, beginning after December 15,
2019. The Company has adopted ASU 2016-13 as updated and the adoption of this guidance did not have a material impact on the Company&#8217;s
consolidated financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Recent Accounting Pronouncements Not Yet Adopted</i></b> -
In December 2023, the FASB issued ASU 2023-09, <i>Improvements to Income Tax Disclosures. </i>This ASU requires greater disaggregation
of information about a reporting entity&#8217;s effective tax rate reconciliation as well as information on income taxes paid. This ASU
applies to all entities subject to income taxes and is intended to help investors better understand an entity&#8217;s exposure to potential
changes in jurisdictional tax legislation and assess income tax information that affects cash flow forecasts and capital allocation decisions.
This ASU is effective for annual periods beginning after December 15, 2024, with early adoption permitted. This ASU should be applied
on a prospective basis although retrospective application is permitted. The Company is currently evaluating the impact the adoption of
this ASU will have on its consolidated financial statements and related disclosures.</p>

<ix:exclude><p id="xdx_237_zIHpziuOsyOi" style="font: 11pt Cambria,serif; margin: 0">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 54; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In November 2023, the FASB issued ASU 2023-07, <i>Segment Reporting</i> (Topic 280): Improvements
to Reportable Segment Disclosures. The amendments in this ASU require disclosures, on an annual and interim basis, of significant segment
expenses that are regularly provided to the chief operating officer decision maker (&#8220;CODM&#8221;), as well as the aggregate amount
of other segment items included in the reported measure of segment profit or loss. The ASU requires that a public entity disclose the
title and position of the CODM and an explanation of how the CODM uses the reported measure(s) of segment profit or loss in assessing
segment performance and deciding how to allocate resources. Public entities will be required to provide all annual disclosures currently
required by Topic 280 in interim periods, and entities with a single reportable segment are required to provide all the disclosures required
by the amendments in this ASU and existing segment disclosures in Topic 280. This ASU is effective for fiscal years beginning after December
15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments in
this ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company is currently evaluating
the impact of this standard on its consolidated financial statements and related disclosures, and does not expect the standard will have
a material impact on the Company&#8217;s consolidated financial statements and related disclosures.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000455" name="us-gaap:StandardProductWarrantyPolicy"><p id="xdx_844_eus-gaap--StandardProductWarrantyPolicy_zKNRssTEJRG1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_869_zxjnWZTgRpK8">Product Warranty</span></i></b> - Expected future product warranty
expense is recorded when revenue is recognized for product sales.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000457" name="us-gaap:ResearchAndDevelopmentExpensePolicy"><p id="xdx_843_eus-gaap--ResearchAndDevelopmentExpensePolicy_zWZK5Ylxz0H7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_z9CIZm8nFEok">Research and Product Development Expenses</span></i></b><i> - </i>Research
and product development expenses represent engineering and other expenditures incurred for developing new products, for refining the Company's
existing products and for developing systems to meet unique customer specifications for potential orders or for new industry applications
and are expensed as incurred.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, the Company spent approximately
$<span id="xdx_902_eus-gaap--OtherResearchAndDevelopmentExpense_c20230301__20240229_pp0p0" title="Research and development expenses"><ix:nonFraction name="us-gaap:OtherResearchAndDevelopmentExpense" contextRef="From2023-03-01to2024-02-29" id="Fact000459" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,886,000</ix:nonFraction></span> and $<span id="xdx_90E_eus-gaap--OtherResearchAndDevelopmentExpense_c20220301__20230228_pp0p0" title="Research and development expenses"><ix:nonFraction name="us-gaap:OtherResearchAndDevelopmentExpense" contextRef="From2022-03-012023-02-28" id="Fact000461" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,149,000</ix:nonFraction></span>, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000463" name="us-gaap:RevenueRecognitionPolicyTextBlock"><p id="xdx_844_eus-gaap--RevenueRecognitionPolicyTextBlock_zAYyIuXGhImi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_z4NbTUE1E4n6">Revenue Recognition</span> -</i></b> The Company recognizes revenue
in accordance with ASC 606, Revenue from Contracts with Customers, the core principle of which is that an entity should recognize revenue
to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the entity expects
to be entitled to receive in exchange for those goods or services. To determine revenue recognition for arrangements that the Company
determines are within the scope of ASC 606, the Company performs the following five steps:</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 24px; font-family: Cambria,serif">&#160;</td>
    <td style="width: 24px; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the contract, or contracts, with a customer</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Determination of the transaction price</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Allocation of the transaction price to the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Recognition of revenue when, or as, performance obligations are satisfied</td></tr>
  </table>
<p style="font: 10pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000465" name="us-gaap:ShareBasedCompensationForfeituresPolicyTextBlock"><p id="xdx_84C_eus-gaap--ShareBasedCompensationForfeituresPolicyTextBlock_zqIYinBPLSvh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zLlzKmYMJuKa">Stock-Based Compensation</span></i></b> - The Company currently uses
a Black-Scholes option pricing model to calculate the fair value of its stock options. The fair value of each option is estimated on the
date of grant based on the Black-Scholes options-pricing model utilizing certain assumptions for a risk free interest rate; volatility;
and expected lives of the awards. The Company primarily uses historical data to determine the assumptions to be used in the Black-Scholes
model. The assumptions used in calculating the fair value of share-based payment awards represent management&#8217;s best estimates, but
these estimates involve inherent uncertainties and the application of management judgment.</p>

<ix:exclude><p id="xdx_233_zFJ0I9j0zRq6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 55; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">ASC 718 requires the recognition of the fair value of stock compensation
expense to be recognized over the vesting term of such award. The Company accounts for forfeitures as they occur.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000468" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_802_eus-gaap--RevenueFromContractWithCustomerTextBlock_zy3RVNEBN3of" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 3: <span id="xdx_822_zus0sZleCTp2">REVENUE RECOGNITION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s sales revenue is derived primarily from short
term contracts with customers, which, on average, are in effect for less than twelve months. Sales revenue from manufactured equipment
transferred at a single point in time accounts for a majority of the Company&#8217;s revenue.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sales revenue is recognized when control of the Company&#8217;s manufactured
equipment is transferred to its customers in an amount that reflects the consideration the Company expects to receive based upon the agreed
transaction price. The Company&#8217;s performance obligations are satisfied when its customers take control of the purchased equipment,
in accordance with the contract terms. Based on prior experience, the Company reasonably estimates its sales returns and warranty reserves.
Sales are presented net of discounts and allowances. Discounts and allowances are determined when a transaction is negotiated. The Company
does not grant its customers or independent representatives the ability to return equipment nor does it grant price adjustments after
a sale is complete.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company does not capitalize any sales commission costs related
to the acquisition of a contract. All commissions related to a performance obligation that are satisfied at a point in time are expensed
when the customer takes control of the purchased equipment and revenue is recognized.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company applies the practical expedient in paragraph ASC 606-10-50-14
and does not disclose information about remaining performance obligations that have original expected durations of one-year or less.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 29, 2024, the Company had received $<span id="xdx_904_ecustom--CashDeposits_c20240229_pp0p0" title="Cash deposits"><ix:nonFraction name="sotk:CashDeposits" contextRef="AsOf2024-02-29" id="Fact000470" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,420,000</ix:nonFraction></span> in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $<span id="xdx_90D_eus-gaap--LineOfCredit_c20240229_pp0p0" title="Letter of credit"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2024-02-29" id="Fact000472" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">72,000</ix:nonFraction></span> to secure these cash deposits.
At February 29, 2024, the Company was utilizing $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20230301__20240229_pp0p0" title="Line of credit collateral amount"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCollateralFeesAmount" contextRef="From2023-03-01to2024-02-29" id="Fact000474" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">72,000</ix:nonFraction></span> of its available credit line to collateralize these letters of credit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 28, 2023, the Company had received $<span id="xdx_906_ecustom--CashDeposits_c20230228_pp0p0" title="Cash deposits"><ix:nonFraction name="sotk:CashDeposits" contextRef="AsOf2023-02-28" id="Fact000476" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,838,000</ix:nonFraction></span> in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $<span id="xdx_90B_eus-gaap--LineOfCredit_c20230228_pp0p0" title="Letter of credit"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2023-02-28" id="Fact000478" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">145,000</ix:nonFraction></span> to secure these cash deposits.
At February 28, 2023, the Company was utilizing $<span id="xdx_909_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20220301__20230228_pp0p0" title="Line of credit collateral amount"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCollateralFeesAmount" contextRef="From2022-03-012023-02-28" id="Fact000480" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">145,000</ix:nonFraction></span> of its available credit line to collateralize these letters of credit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000482" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"><p id="xdx_89B_eus-gaap--ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_zkluOALmvjfd" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s sales revenue, by product line is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B9_z73Ew3dBNF4" style="display: none">Schedule of revenue recognition - sales revenue by product line</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Twelve Months Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 44%; text-align: left">Fluxing Systems</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" title="Sales revenue" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_FluxingSystemsMember" id="Fact000484" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">724,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_906_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_custom_FluxingSystemsMember" id="Fact000486" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4</ix:nonFraction>%</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" title="Sales revenue" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_FluxingSystemsMember" id="Fact000488" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,179,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_903_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_custom_FluxingSystemsMember" id="Fact000490" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8</ix:nonFraction>%</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Integrated Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember" id="Fact000492" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,889,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember" id="Fact000494" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember" id="Fact000496" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,114,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_909_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember" id="Fact000498" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Multi-Axis Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember" id="Fact000500" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,075,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember" id="Fact000502" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">51</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember" id="Fact000504" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,785,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember" id="Fact000506" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">45</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">OEM Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_OemSystemsMember" id="Fact000508" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,533,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90C_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_custom_OemSystemsMember" id="Fact000510" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" title="Sales revenue" style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_OemSystemsMember" id="Fact000512" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,144,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_custom_OemSystemsMember" id="Fact000514" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" title="Sales revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_OtherProductLineMember" id="Fact000516" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,479,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_904_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_custom_OtherProductLineMember" id="Fact000518" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">23</ix:nonFraction>%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" title="Sales revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_OtherProductLineMember" id="Fact000520" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,836,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_custom_OtherProductLineMember" id="Fact000522" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26</ix:nonFraction>%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">TOTAL</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" title="Sales revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_custom_ProductLineMember" id="Fact000524" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,700,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" title="Sales revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_custom_ProductLineMember" id="Fact000526" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,058,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_z9xRCqJsyspg" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>


<ix:exclude><!-- Field: Page; Sequence: 56; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<ix:exclude><p id="xdx_231_zuL2URhangHd" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000529" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock"><p id="xdx_801_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zQ3pl4tFAc2e" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 4: <span id="xdx_828_z8yGPXtLPjdh">STOCK-BASED COMPENSATION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Stock Options</i></b> &#8211; In May 2023, the Company&#8217;s
Board of Directors authorized the creation of the 2023 Stock Incentive Plan (the &#8220;2023 Plan&#8221;) pursuant to which the Company
may grant up to <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Number of shares available for purchase"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember" id="Fact000531" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500,000</ix:nonFraction></span> options or shares to officers, directors, employees and consultants of the Company and its subsidiaries. The
Company&#8217;s shareholders approved the adoption of the 2023 Plan in August 2023. The 2023 Plan replaced the 2013 Stock Incentive Plan
(the &#8220;2013 Plan&#8221;) under which no additional options or shares could be granted after June 2023. There are currently <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember" id="Fact000533" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">65,793</ix:nonFraction></span>
and <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandThirteenStockIncentivePlanMember_pdd" title="Options outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-02-29_custom_TwoThousandThirteenStockIncentivePlanMember" id="Fact000535" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">229,749</ix:nonFraction></span> options outstanding, respectively, under the 2023 Plan and the 2013 Plan.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Under the 2023 Stock Incentive Plan, as amended (the "2023 Plan"),
options can be granted to officers, directors, consultants and employees of the Company and its subsidiaries to purchase up to <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember" id="Fact000537" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500,000</ix:nonFraction></span>
shares of the Company's common stock. Under the 2023 Plan options expire ten <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_zjQA03Ic3yY4" title="Options, expiration period" style="display: none"><ix:nonNumeric contextRef="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember" format="ixt-sec:duryear" id="Fact000539" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">10</ix:nonNumeric></span> years after the date of grant.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">During fiscal 2024, the Company granted options to
acquire <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember" id="Fact000541" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">54,813</ix:nonFraction></span>
shares to employees exercisable at prices ranging from $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember" id="Fact000543" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.79</ix:nonFraction></span>
to $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember" id="Fact000545" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.60</ix:nonFraction></span>
and options to acquire <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember" id="Fact000547" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">18,380</ix:nonFraction></span>
shares to the non-employee members of the board of directors with an exercise price of $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember" id="Fact000549" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.79</ix:nonFraction></span>.
The options granted to employees and directors vest over three <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_znKnmVEcz8re" title="Options, vesting period" style="display: none"><ix:nonNumeric contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember" format="ixt-sec:duryear" id="Fact000551" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">3</ix:nonNumeric></span> years and expire in <span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zwEfrFqe8OU4" title="Options, expiration period" style="display: none"><ix:nonNumeric contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember" format="ixt-sec:duryear" id="Fact000553" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">10</ix:nonNumeric></span>
ten years. The options granted by the Company during fiscal 2024 had a combined weighted average grant date fair value of $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zvGYP56I8O3f" title="Weighted average grant date fair value, per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember" id="Fact000555" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.11</ix:nonFraction></span> per
share.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">During fiscal 2023, the Company granted options to
acquire <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember" id="Fact000557" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,239</ix:nonFraction></span>
shares to employees exercisable at prices ranging from $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember" id="Fact000559" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.45</ix:nonFraction></span>
to $<span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember" id="Fact000561" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.96</ix:nonFraction></span>
and options to acquire <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember" id="Fact000563" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,500</ix:nonFraction></span>
shares to the non-employee members of the board of directors with an exercise price of $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember" id="Fact000565" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.50</ix:nonFraction></span>.
The options granted to employees and directors vest over three <span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_z5nxZMdHxhG2" title="Options, vesting period" style="display: none"><ix:nonNumeric contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember" format="ixt-sec:duryear" id="Fact000567" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">3</ix:nonNumeric></span> years and expire in <span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zdnxqeiTXlVb" title="Options, expiration period" style="display: none"><ix:nonNumeric contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember" format="ixt-sec:duryear" id="Fact000569" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">10</ix:nonNumeric></span>
ten years. The options granted by the Company during fiscal 2023 had a combined weighted average grant date fair value of $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_pdd" title="Weighted average grant date fair value, per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember" id="Fact000571" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.44</ix:nonFraction></span> per
share.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000573" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zdjOTLN71eSh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">A summary of the activity for both plans, for fiscal 2024 and fiscal
2023 is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;<span id="xdx_8B4_zesxg6b60bQ" style="display: none">Stock-based compensation - summary of stock options</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Weighted Average</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Stock Options</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercise Price $</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Remaining</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Term - Years</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; text-align: left">&#160;</td><td style="width: 34%; text-align: left">Balance - February 28, 2022</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220301__20230328_zVyXctzsl8D7" title="Stock Options outstanding at beginning of period (in shares)" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-02-28" id="Fact000575" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">253,710</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20220301__20230228_zs9mqUVuSTAf" title="Stock Options exercisable at beginning of period (in shares)" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2022-02-28" id="Fact000577" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">61,690</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220301__20230228_z317RB2Uve2a" title="Weighted Average outstanding at beginning of period (in dollars per share)" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-02-28" id="Fact000579" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.46</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20220301__20230228_zgmVSg8eJbqg" title="Weighted Average exercisable at beginning of period (in dollars per share)" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2022-02-28" id="Fact000581" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.53</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210301__20220228_z0UukW3RLK0b" title="Weighted average remaining term outstanding" style="width: 10%; text-align: right"><ix:nonNumeric contextRef="From2021-03-012022-02-28" format="ixt-sec:duryear" id="Fact000583" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">8.94</ix:nonNumeric></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228_pdd" title="Granted (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-03-012023-02-28" id="Fact000585" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">44,739</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228_pdd" title="Granted (in dollars per share)" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28" id="Fact000587" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.71</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220301__20230228_zj1BE5K1e0m2" title="Exercised (in shares)" style="text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-03-012023-02-28" id="Fact000589" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,973</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zsmgeBzGL7h6" title="Exercised (in dollars per share)" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28" id="Fact000591" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.77</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20220301__20230228_zWWUqLehpQUa" title="Cancelled (in shares)" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2022-03-012023-02-28" id="Fact000593" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,717</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zWdmTBfxSAw5" title="Cancelled (in dollars per share)" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-03-012023-02-28" id="Fact000595" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.66</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230301__20240329_zWjPAVNtMVuh" title="Stock Options outstanding at beginning of period (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-02-28" id="Fact000597" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">250,759</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20230301__20240229_z93CQi9uIkJi" title="Stock Options exercisable at beginning of period (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-02-28" id="Fact000599" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">133,609</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230301__20240201_zX2F21mIwKrc" title="Weighted Average outstanding at beginning of period (in dollars per share)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-02-28" id="Fact000601" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.84</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20230301__20240201_zC8E3R3cXe22" title="Weighted Average exercisable at beginning of period (in dollars per share)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-02-28" id="Fact000603" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.62</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220301__20230228_zDUot4KlUhmf" title="Weighted average remaining term outstanding" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonNumeric contextRef="From2022-03-012023-02-28" format="ixt-sec:duryear" id="Fact000605" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">8.52</ix:nonNumeric></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229_pdd" title="Granted (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-03-01to2024-02-29" id="Fact000607" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">73,193</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229_pdd" title="Granted (in dollars per share)" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-01to2024-02-29" id="Fact000609" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.02</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230301__20240229_zOQAqVfak7Od" title="Exercised (in shares)" style="text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-03-01to2024-02-29" id="Fact000611" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">19,701</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zRqzSqBeprI1" title="Exercised (in dollars per share)" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-01to2024-02-29" id="Fact000613" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.62</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230301__20240229_zEo2xjUgbD8g" title="Cancelled (in shares)" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2023-03-01to2024-02-29" id="Fact000615" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,709</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zTaRFZT1cmYe" title="Cancelled (in dollars per share)" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-03-01to2024-02-29" id="Fact000617" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.20</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 29, 2024</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230301__20240229_zKSpTLhdK9ec" title="Stock Options outstanding at end of period (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-02-29" id="Fact000619" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">295,542</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230301__20240229_z1CzQRf3JXT4" title="Stock Options exercisable at end of period (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-02-29" id="Fact000621" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">181,376</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230301__20240229_zZl9suRyvWaa" title="Weighted Average outstanding at end of period (in dollars per share)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-02-29" id="Fact000623" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.99</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230301__20240229_zsusx5vKlSEf" title="Weighted Average exercisable at end of period (in dollars per share)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-02-29" id="Fact000625" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.89</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230301__20240229_zoLeslkdPMM5" title="Weighted average remaining term outstanding" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:duryear" id="Fact000627" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">8.04</ix:nonNumeric></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_z99IQkiUqGz2" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The aggregate intrinsic value of the Company&#8217;s vested and exercisable
options at February 29, 2024 was $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20240229_zI6zI8BXunk2" title="Aggregate intrinsic value of options outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2024-02-29" id="Fact000629" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,709</ix:nonFraction></span>.</p>

<ix:exclude><p id="xdx_23D_zr0AuUPFnVoi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 57; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the years ended February 29, 2024 and February 28, 2023 the
Company recognized $<span id="xdx_90E_eus-gaap--ShareBasedCompensation_c20230301__20240229_pp0p0" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-03-01to2024-02-29" id="Fact000632" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">203,577</ix:nonFraction></span>
and $<span id="xdx_90D_eus-gaap--ShareBasedCompensation_c20220301__20230228_pp0p0" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2022-03-012023-02-28" id="Fact000634" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">256,740</ix:nonFraction></span>
in stock based compensation expense, respectively. Such amounts are included in general and administrative expenses on the
consolidated statements of income. Total compensation expense related to non-vested options not yet recognized as of February 29,
2024 was $<span id="xdx_90B_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_c20240229_pp0p0" title="Compensation expense not yet recognized"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" contextRef="AsOf2024-02-29" id="Fact000636" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">298,000</ix:nonFraction></span>
and will be recognized over the next three <span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230301__20240229_ziwPi560zhU3" title="Compensation expense, period for recognition" style="display: none"><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" format="ixt-sec:duryear" id="Fact000638" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">3</ix:nonNumeric></span> years based on vesting date. The amount of future stock option compensation expense
could be affected by any future option grants or by any forfeitures. During the year ended February 29, 2024, the Company had net
settlement exercises of stock options, whereby, the optionee did not pay cash for the options but instead received the number of
shares equal to the difference between the exercise price and the market price on the date of exercise. Net settlement exercises
during the year ended February 29, 2024 resulted in <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230301__20240229_pdd" title="Options cancelled in settlement of shares issued"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2023-03-01to2024-02-29" id="Fact000640" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,807</ix:nonFraction></span> shares of common stock issued.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Determining the appropriate fair value of the stock-based awards requires
the input of subjective assumptions, including the fair value of the Company&#8217;s common stock, and for stock options, the expected
life of the option, and the expected stock price volatility. The Company uses the Black-Scholes option pricing model to value its stock
option awards. The assumptions used in calculating the fair value of stock-based awards represent management&#8217;s best estimates and
involve inherent uncertainties and the application of management&#8217;s judgment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The expected term of the options is estimated based on the Company&#8217;s
historical exercise rate. The expected life of awards that vest immediately use the contractual maturity since they are vested when issued.
For stock price volatility, the Company uses its expected volatility of the price of the Company&#8217;s common stock based on historical
activity. The risk-free interest rate is based on U.S. Treasury notes with a term approximating the expected life of the option at the
grant-date.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000642" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_z2cM2FikF8Le" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">The weighted-average fair value of options has been estimated
on the date of grant using the Black-Scholes options-pricing model. The weighted-average Black-Scholes assumptions are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"><span id="xdx_8BC_zO6uBdOpzQj7" style="display: none">Schedule of weighted-average black-scholes assumptions</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="4" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Fiscal Year Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29, <br/> 2024</td><td style="text-align: center; padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="text-align: center; font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28, <br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected life</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zWX8KRnLrstf" title="Expected life (in years)"><ix:nonNumeric contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember" format="ixt-sec:duryear" id="Fact000644" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">5</ix:nonNumeric></span> - <span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zyUatMKVW7Ej" title="Expected life (in years)"><ix:nonNumeric contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember" format="ixt-sec:duryear" id="Fact000646" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">8</ix:nonNumeric></span> years</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zlunQfUL1Wv9" title="Expected life (in years)"><ix:nonNumeric contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember" format="ixt-sec:duryear" id="Fact000648" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">5</ix:nonNumeric></span> - <span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zBFyM2F586Sj" title="Expected life (in years)"><ix:nonNumeric contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember" format="ixt-sec:duryear" id="Fact000650" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">8</ix:nonNumeric></span> years</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 11pt">Risk free interest rate</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20230301__20240229_pdd" title="Risk free interest rate, minimum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" contextRef="From2023-03-01to2024-02-29" id="Fact000652" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.82</ix:nonFraction>%</span> - <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20230301__20240229_pdd" title="Risk free interest rate, maximum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" contextRef="From2023-03-01to2024-02-29" id="Fact000654" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.39</ix:nonFraction>%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20220301__20230228_pdd" title="Risk free interest rate, minimum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" contextRef="From2022-03-012023-02-28" id="Fact000656" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.82</ix:nonFraction>%</span> &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20220301__20230228_pdd" title="Risk free interest rate, maximum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" contextRef="From2022-03-012023-02-28" id="Fact000658" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.02</ix:nonFraction>%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected volatility</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20230301__20240229_pdd" title="Expected volatility, minimum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" contextRef="From2023-03-01to2024-02-29" id="Fact000660" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">55.02</ix:nonFraction>%</span> - <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20230301__20240229_pdd" title="Expected volatility, maximum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" contextRef="From2023-03-01to2024-02-29" id="Fact000662" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">62.48</ix:nonFraction>%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20220301__20230228_pdd" title="Expected volatility, minimum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" contextRef="From2022-03-012023-02-28" id="Fact000664" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">55.02</ix:nonFraction>%</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20220301__20230228_pdd" title="Expected volatility, maximum"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" contextRef="From2022-03-012023-02-28" id="Fact000666" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">62.01</ix:nonFraction>%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left"><span style="font-size: 11pt">Expected dividend yield</span></td><td style="width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20230301__20240229_pdd" title="Expected dividend yield"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2023-03-01to2024-02-29" id="Fact000668" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0</ix:nonFraction>%</span></span></td><td style="width: 1%; text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center; width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20220301__20230228_pdd" title="Expected dividend yield"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2022-03-012023-02-28" id="Fact000670" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0</ix:nonFraction>%</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_z1zV98WwnWnk" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000672" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zogKOLBIa6ik" style="font: 11pt Cambria,serif; margin: 0"><b>NOTE 5: <span id="xdx_824_zClfn1Hwf1m6">INVENTORIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000674" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_89F_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zXhZ0X9ohFbh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zfnqaepuHHcd" style="display: none">Schedule of inventory, current</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240229_zsqGeVHmmR5j" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zPNWhdkuzp7l" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterials_iI_maIGzsAc_zZ5uSea3x1cc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Raw materials and subassemblies</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2024-02-29" id="Fact000676" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,270,567</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2023-02-28" id="Fact000677" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,868,689</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InventoryFinishedGoods_iI_maIGzsAc_zGq4SvESbEqk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2024-02-29" id="Fact000679" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,785,952</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-02-28" id="Fact000680" format="ixt:numdotdecimal" decimals="0" unitRef="USD">613,915</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryWorkInProcess_iI_maIGzsAc_zwFr6sLDNcXj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Work in process</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2024-02-29" id="Fact000682" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,165,461</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2023-02-28" id="Fact000683" format="ixt:numdotdecimal" decimals="0" unitRef="USD">760,305</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzsAc_zmpOJvG3926g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2024-02-29" id="Fact000685" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,221,980</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2023-02-28" id="Fact000686" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,242,909</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zRBb05tzt2Bh" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">The Company maintains an allowance for slow-moving inventory for raw materials and finished
goods. The recorded allowances at February 29, 2024 and February 28, 2023, totaled $<span id="xdx_901_eus-gaap--InventoryValuationReserves_c20240229_pp0p0" title="Allowance for slow moving inventory"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2024-02-29" id="Fact000688" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">380,400</ix:nonFraction></span> and $<span id="xdx_907_eus-gaap--InventoryValuationReserves_c20230228_pp0p0" title="Allowance for slow moving inventory"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2023-02-28" id="Fact000690" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">332,525</ix:nonFraction></span>, respectively.</p>

<ix:exclude><p id="xdx_23A_zAOTDXRSFZR1" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 58; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000693" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_80C_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zWqBucCqwOE4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 6: <span id="xdx_82F_zg42Bkd9vzgj">BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000695" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrAsoVJSdt28" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Buildings, equipment, furnishings and leasehold improvements consist
of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zlS15U1pM809" style="display: none">Buildings, equipment, furnishings and leasehold improvements</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%">Buildings</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" title="Totals" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_us-gaap_BuildingMember" id="Fact000697" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,250,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" title="Totals" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_us-gaap_BuildingMember" id="Fact000699" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,250,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Laboratory equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_custom_LaboratoryEquipmentMember" id="Fact000701" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,733,911</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_custom_LaboratoryEquipmentMember" id="Fact000703" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,647,951</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_us-gaap_MachineryAndEquipmentMember" id="Fact000705" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,891,345</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_us-gaap_MachineryAndEquipmentMember" id="Fact000707" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,807,817</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_us-gaap_LeaseholdImprovementsMember" id="Fact000709" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">924,356</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_us-gaap_LeaseholdImprovementsMember" id="Fact000711" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">789,044</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Tradeshow and demonstration equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_custom_TradeshowAndDemonstrationEquipmentMember" id="Fact000713" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,151,899</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_custom_TradeshowAndDemonstrationEquipmentMember" id="Fact000715" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,137,346</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" title="Totals" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29_us-gaap_FurnitureAndFixturesMember" id="Fact000717" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,771,084</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" title="Totals" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28_us-gaap_FurnitureAndFixturesMember" id="Fact000719" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,302,545</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Totals</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_c20240229_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29" id="Fact000721" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,722,595</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--PropertyPlantAndEquipmentGross_c20230228_pp0p0" title="Totals" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-02-28" id="Fact000723" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,934,703</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_zhuBznxkNzJh" title="Less: Accumulated depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-02-29" id="Fact000725" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,890,439</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zb0QlZvhgdp1" title="Less: Accumulated depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-02-28" id="Fact000727" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,309,707</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_c20240229_pp0p0" title="Equipment, furnishings and leasehold improvements, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29" id="Fact000729" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,832,156</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_c20230228_pp0p0" title="Equipment, furnishings and leasehold improvements, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-02-28" id="Fact000731" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,624,996</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zdC5VXozA47g" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Depreciation expense for the years ended February 29, 2024 and February
28, 2023 was $<span id="xdx_902_eus-gaap--Depreciation_c20230301__20240229_pp0p0" title="Depreciation Expense"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2023-03-01to2024-02-29" id="Fact000733" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">580,732</ix:nonFraction></span> and $<span id="xdx_907_eus-gaap--Depreciation_c20220301__20230228_pp0p0" title="Depreciation Expense"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2022-03-012023-02-28" id="Fact000735" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">492,055</ix:nonFraction></span>, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000737" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"><p id="xdx_80F_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zqwVIyyo1km9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 7: <span id="xdx_828_zUCtqhBpwYy3">ACCRUED EXPENSES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000739" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZJMFbpkzVM1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Accrued expenses consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B8_zEjH6xjARkK3" style="display: none">Accrued expenses</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240229_zs1lEHYrXLFa" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zOuHtzDn9Ws2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maALCzOiN_z4yMt9P9bBmh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Accrued compensation</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:AccruedSalariesCurrent" contextRef="AsOf2024-02-29" id="Fact000741" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">579,757</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:AccruedSalariesCurrent" contextRef="AsOf2023-02-28" id="Fact000742" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">352,619</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProductWarrantyAccrual_iI_pp0p0_maALCzOiN_zYUcRRI5Sgz7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Estimated warranty costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2024-02-29" id="Fact000744" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">524,875</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2023-02-28" id="Fact000745" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,650</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccruedPayrollTaxesCurrent_iI_pp0p0_maALCzOiN_zXt9vjWXU1Zc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Accrued sales tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2024-02-29" id="Fact000747" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">152,547</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0748">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccruedSalesCommissionCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z12zyaSKs9V4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Accrued commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrentAndNoncurrent" contextRef="AsOf2024-02-29" id="Fact000750" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">133,771</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrentAndNoncurrent" contextRef="AsOf2023-02-28" id="Fact000751" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,927</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedProfessionalFeesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_zjxvP7HKp0Wf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent" contextRef="AsOf2024-02-29" id="Fact000753" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">74,826</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent" contextRef="AsOf2023-02-28" id="Fact000754" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">100,921</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherAccruedLiabilitiesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z9JAZpAxDBll" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other accrued expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent" contextRef="AsOf2024-02-29" id="Fact000756" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">273,702</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent" contextRef="AsOf2023-02-28" id="Fact000757" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">315,329</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedLiabilitiesCurrent_iTI_pp0p0_mtALCzOiN_ziA9bXgV0CUb" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="color: white; text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-02-29" id="Fact000759" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,739,478</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-02-28" id="Fact000760" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,427,446</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zPkhIIm88BUc" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000762" name="us-gaap:ShortTermDebtTextBlock"><p id="xdx_80C_eus-gaap--ShortTermDebtTextBlock_z05pBqv0bFF9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 8: <span id="xdx_820_zetQgGQfLC34">REVOLVING LINE OF CREDIT</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company has a $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit"><span id="xdx_90F_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember" id="Fact000764" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember" id="Fact000766" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,500,000</ix:nonFraction></ix:nonFraction></span></span> revolving line of credit at prime which
was <span id="xdx_90E_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate"><ix:nonFraction name="us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd" contextRef="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember" id="Fact000768" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.50</ix:nonFraction>%</span> at February 29, 2024 and <span id="xdx_90C_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate"><ix:nonFraction name="us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd" contextRef="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember" id="Fact000770" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.75</ix:nonFraction>%</span> at February 28, 2023. The revolving credit line is collateralized by the Company&#8217;s accounts
receivable and inventory. The revolving credit line is payable on demand and must be retired for a 30-day period, once annually. If the
Company fails to perform the 30-day annual pay down or if the bank elects to terminate the credit line, the bank may, at its option, convert
the outstanding balance to a 36-month term note with payments including interest in 36 equal installments.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 29, 2024, $<span id="xdx_903_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers"><ix:nonFraction name="sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" contextRef="AsOf2024-02-29_us-gaap_LetterOfCreditMember" id="Fact000772" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">72,000</ix:nonFraction></span> of the Company&#8217;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expire in April 2024. As of February 29, 2024, there were no outstanding borrowings under the line of credit
and the unused portion of the credit line was $<span id="xdx_903_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2024-02-29_us-gaap_LetterOfCreditMember" id="Fact000774" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,428,000</ix:nonFraction></span>.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 28, 2023, $<span id="xdx_905_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers"><ix:nonFraction name="sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" contextRef="AsOf2023-02-28_us-gaap_LetterOfCreditMember" id="Fact000776" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">145,000</ix:nonFraction></span> of the Company&#8217;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expired in May and July 2023. As of February 28, 2023, there were no outstanding borrowings under the line
of credit and the unused portion of the credit line was $<span id="xdx_905_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2023-02-28_us-gaap_LetterOfCreditMember" id="Fact000778" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,355,000</ix:nonFraction></span>.</p>

<ix:exclude><p id="xdx_232_zqfC893DmLle" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 59; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000781" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zav0q5hAjrNa" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 9: <span id="xdx_82B_zehOsg1EtBA5">INCOME TAXES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000783" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"><p id="xdx_894_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZWfgbaOOoal" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The annual provision (benefit) for income taxes differs from amounts
computed by applying the maximum U.S. Federal income tax rate of 21% to pre-tax income as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B6_z8jkvGsQ4duj" style="display: none">Income taxes - income tax reconciliation</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 72%; text-align: left">Expected federal income tax</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">366,362</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">165,882</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State tax, net of federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,510</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">37,204</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(161,525</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(127,329</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Permanent differences</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">45,770</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">78,252</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">303,117</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">154,009</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A0_z58rzOYV2WBb" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000785" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zSRnlTXCPlp3" style="font: 11pt Cambria,serif; margin: 0">Components of the current and deferred tax expense are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0"><span id="xdx_8B9_zxzKgncjhRpd" style="display: none">Income taxes - current and deferred tax expense</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230301__20240229_zqwZ5Td9QDk3" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 29,<br/> 2024</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220301__20230228_zCToAzpTgAva" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 28,<br/> 2023</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Current:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCFSALzjUX_zzjQGYI4ZPob" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; width: 55%">Federal</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000790" format="ixt:numdotdecimal" decimals="0" unitRef="USD">716,003</ix:nonFraction></td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000791" format="ixt:numdotdecimal" decimals="0" unitRef="USD">438,263</ix:nonFraction></td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCFSALzjUX_zjox5XNqKak6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000793" format="ixt:numdotdecimal" decimals="0" unitRef="USD">123,743</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000794" format="ixt:numdotdecimal" decimals="0" unitRef="USD">83,525</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtCFSALzjUX_maITEBzHJH_zp2XtK9d8sS8" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total current income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000796" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">839,746</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000797" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">521,788</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">Deferred:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDFSALzsGL_ztBuSsDBuyU7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Federal</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000799" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">471,396</ix:nonFraction></td><td style="font: 11pt Cambria,serif; text-align: left">)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000800" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">321,458</ix:nonFraction></td><td style="font: 11pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDFSALzsGL_zk7Fp661ox89" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000802" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">65,233</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000803" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">46,321</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtDFSALzsGL_maITEBzHJH_zSUnHV6Uo5i7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total deferred income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000805" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">536,629</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000806" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">367,779</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBzHJH_ziVw1FWxR4P4" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-03-01to2024-02-29" id="Fact000808" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">303,117</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-03-012023-02-28" id="Fact000809" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">154,009</ix:nonFraction></td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8AF_zVBdJQIuqcZh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In assessing the realizability of deferred tax assets, management
considers whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization
of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences
become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income, and projections
for future taxable income over periods in which the deferred tax assets are deductible. Management believes it is more likely than not
that the Company will realize the benefits of these deductible differences.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The incorporation of the new tax laws for 2023, requires the Company
to capitalize for income tax purposes research and development expenses incurred during the year and for such expenses to be amortized
over a five year period. As a result, a deferred tax asset &#8220;Capitalized R&amp;D expenses &#8211; IRC Section 174&#8221; has been
recorded.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company does not have any uncertain tax positions in 2024. There
are no interest and penalties related to uncertain tax positions in 2024. As of February 29, 2024, open years related to the federal and
state jurisdictions are 2023, 2022 and 2021.</p>

<ix:exclude><p id="xdx_234_zA1q51dOhxbe" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 60; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000812" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zbfg78FRZTJi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The deferred tax asset and liability are comprised of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zBJxzWzY1Kxl" style="display: none">Income taxes - deferred tax asset and liability components</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-decoration: underline; text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; text-align: left">Allowance for inventory</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--DeferredTaxAssetsInventory_c20240229_pp0p0" title="Allowance for inventory" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="AsOf2024-02-29" id="Fact000814" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">91,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsInventory_c20230228_pp0p0" title="Allowance for inventory" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="AsOf2023-02-28" id="Fact000816" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">76,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Allowance for accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20240229_pp0p0" title="Allowance for accounts receivable" style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2024-02-29" id="Fact000818" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20230228_pp0p0" title="Allowance for accounts receivable" style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2023-02-28" id="Fact000820" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized R&amp;D expenses &#8211; IRC Section 174</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--CapitalizedRdExpensesIrcSection174_iI_pp0p0_c20240229_zehJMdewuu9c" title="Capitalized R&amp;D expenses - IRC Section 174" style="text-align: right"><ix:nonFraction name="sotk:CapitalizedRdExpensesIrcSection174" contextRef="AsOf2024-02-29" id="Fact000822" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">985,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CapitalizedRdExpensesIrcSection174_c20230228_pp0p0" style="text-align: right"><ix:nonFraction name="sotk:CapitalizedRdExpensesIrcSection174" contextRef="AsOf2023-02-28" id="Fact000823" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">441,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accrued expenses and other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20240229_pp0p0" title="Accrued expenses and other" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" contextRef="AsOf2024-02-29" id="Fact000825" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">177,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20230228_pp0p0" title="Accrued expenses and other" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" contextRef="AsOf2023-02-28" id="Fact000827" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">147,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax asset &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20240229_z0Hj7OqWalQh" title="Deferred tax asset - Long Term" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2024-02-29" id="Fact000829" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,256,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-02-28" id="Fact000830" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">667,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Building and leasehold depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_z8GDKMeMz4z3" title="Building and leasehold depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2024-02-29" id="Fact000832" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">230,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zeq6R43IqdUa" title="Building and leasehold depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2023-02-28" id="Fact000834" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">83,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax liability &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20240229_zMXEK2ITDD58" title="Deferred tax liability - Long Term" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="AsOf2024-02-29" id="Fact000836" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">230,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20230228_zUxkc9bckBCc" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="AsOf2023-02-28" id="Fact000837" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">83,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A4_zEaQRDnReccj" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000839" name="us-gaap:EarningsPerShareTextBlock"><p id="xdx_80E_eus-gaap--EarningsPerShareTextBlock_zzsQfEi85scg" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 10: <span id="xdx_823_zPJbDmVJcvDb">EARNINGS PER SHARE</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000841" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJt1zBE57Tdk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following table sets forth the computation of basic and diluted
earnings per share:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zUHPZKuamNA" style="display: none">Schedule of computation of basic and diluted earnings per share</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230301__20240229_zCYbjRInJr4b" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220301__20230228_zmRKPOt6fMul" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--ProfitLoss_zVSr50SSqhfg" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left; padding-bottom: 2.5pt">Numerator for basic and diluted earnings per share</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-03-01to2024-02-29" id="Fact000843" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,441,463</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-03-012023-02-28" id="Fact000844" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,905</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zeOvC2kVC74b" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Denominator for basic earnings per share - weighted average</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-03-01to2024-02-29" id="Fact000846" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,743,763</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-03-012023-02-28" id="Fact000847" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,735,451</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DilutiveSecuritiesAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Effects of dilutive securities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_i_pdd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Stock options for employees, directors and outside consultants</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2023-03-01to2024-02-29" id="Fact000852" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,244</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2022-03-012023-02-28" id="Fact000853" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">34,048</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zc4TKB4TblW6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Denominator for diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-03-01to2024-02-29" id="Fact000855" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,774,007</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-03-012023-02-28" id="Fact000856" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,769,499</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Basic Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-03-01to2024-02-29" id="Fact000858" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-03-012023-02-28" id="Fact000859" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EarningsPerShareDiluted_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Diluted Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-03-01to2024-02-29" id="Fact000861" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-03-012023-02-28" id="Fact000862" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_z7wcKHWfR9ih" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000864" name="us-gaap:ConcentrationRiskDisclosureTextBlock"><p id="xdx_808_eus-gaap--ConcentrationRiskDisclosureTextBlock_zM4ADTMOmnd4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 11: <span id="xdx_82E_zzHAios122W8">CUSTOMER CONCENTRATIONS AND FOREIGN SALES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000866" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"><p id="xdx_89B_eus-gaap--SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_zNuqH7043FQ8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Export sales to customers located outside the United States and Canada
were approximately as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8BA_zZcF0eCot0i2" style="display: none">Schedule of customer concentrations and foreign sales</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Asia Pacific (APAC)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" title="Total sales" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-03-012024-02-29_srt_AsiaPacificMember" id="Fact000868" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,268,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" title="Total sales" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-03-012023-02-28_srt_AsiaPacificMember" id="Fact000870" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,260,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Europe, Middle East, Asia (EMEA)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" title="Total sales" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-03-012024-02-29_us-gaap_MiddleEastMember" id="Fact000872" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,333,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" title="Total sales" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-03-012023-02-28_us-gaap_MiddleEastMember" id="Fact000874" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,448,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Latin America</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" title="Total sales" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-03-012024-02-29_srt_LatinAmericaMember" id="Fact000876" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,221,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" title="Total sales" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-03-012023-02-28_srt_LatinAmericaMember" id="Fact000878" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,546,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229_pp0p0" title="Total sales" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-03-01to2024-02-29" id="Fact000880" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,822,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228_pp0p0" title="Total sales" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-03-012023-02-28" id="Fact000882" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,254,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_zRcKou5XMOOa" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, sales to foreign customers accounted
for approximately $<span id="xdx_904_eus-gaap--Revenues_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember" id="Fact000884" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,822,000</ix:nonFraction></span> and $<span id="xdx_901_eus-gaap--Revenues_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember" id="Fact000886" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,254,000</ix:nonFraction></span>, or <span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember" id="Fact000888" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">45</ix:nonFraction>%</span> and <span id="xdx_90D_ecustom--SalesRevenuePercent_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent"><ix:nonFraction name="sotk:SalesRevenuePercent" contextRef="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember" id="Fact000890" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">55</ix:nonFraction>%</span> respectively, of total revenues.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the fiscal years ended February 29, 2024 and February 28, 2023,
no single customer accounted for more than 10% of the Company&#8217;s revenues.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Two customers accounted for <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_dp_c20230301__20240229__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEPYPM8Nmwm"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-03-012024-02-29_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000891" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26</ix:nonFraction></span>%
of the outstanding accounts receivables February 29, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Two customers accounted for <span title="Outstanding accounts receivables, percent"><span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zl4f01nFCZo2" title="Outstanding accounts receivables, percent"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000893" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">28</ix:nonFraction></span>%
of the outstanding accounts receivables at February 28, 2023.</span></p>

<ix:exclude><p id="xdx_233_zvfEVY3dnxEa" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 61; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company had two customers which accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000896" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction>%</span> of sales during
fiscal 2023. Four customers accounted for <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--FourCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-03-012023-02-28_custom_FourCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000898" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction>%</span> of the outstanding accounts receivables at February 28, 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-03-01to2024-02-29" escape="true" id="Fact000900" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_800_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z0q8yTvuJde" style="font: 11pt Cambria,serif; margin: 0"><b>NOTE 12: <span id="xdx_82C_zC5a7hUfmmq7">COMMITMENTS AND CONTINGENCIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Other than the letters of credit discussed in Notes 3 and 8, the Company did not have any
material commitments or contingencies as of February&#160;29, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company is subject, from time to time, to claims by third parties
under various legal disputes. The defense of such claims, or any adverse outcome relating to any such claims, could have a material adverse
effect on the Company&#8217;s liquidity, financial condition, and cash flows. As of February 29, 2024, the Company did not have any pending
legal actions.</p>

</ix:nonNumeric><p id="xdx_816_zmSfN8kQSkvg" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 62; Value: 1 -->
    <div style="border-bottom: rgb(98,145,178) 2pt solid; margin-top: 12pt; margin-bottom: 6pt; padding-bottom: 2pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt">&#160;</div>
    <!-- Field: /Page -->

<p style="font: 11pt Cambria,serif; margin: 0"><b>SIGNATURES</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In accordance with Section 13 or 15(d) of the Exchange Act, the Registrant
has caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">Dated: May 23, 2024</p>

<p style="font: 11pt Cambria,serif; margin: 0">Sono-Tek Corporation</p>

<p style="font: 11pt Cambria,serif; margin: 0">(Registrant)</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">By: <span style="text-decoration: underline">/s/ R. Stephen Harshbarger</span></p>

<p style="font: 11pt Cambria,serif; margin: 0">R. Stephen Harshbarger,</p>

<p style="font: 11pt Cambria,serif; margin: 0">Chief Executive Officer and President</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In accordance with the Exchange Act, this report has been signed below
by the following persons on behalf of the Registrant and in the capacities and on the dates indicated.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 34%; font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Dr. Christopher L Coccio</span></td>
    <td style="width: 23%; font-family: Cambria,serif">May 23, 2024</td>
    <td style="width: 28%; font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Eric Haskell</span></td>
    <td style="width: 15%; font-family: Cambria,serif">May 23, 2024</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Christopher L. Coccio</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Eric Haskell</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Executive Chairman and Chairman of the Board of Directors</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Stephen J. Bagley</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td>
    <td style="font-family: Cambria,serif">/<span style="text-decoration: underline">s/ Dr. Joseph Riemer</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Stephen J. Bagley</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Dr. Joseph Riemer</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Chief Financial Officer</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Carol O&#8217;Donnell</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td>
    <td style="font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Philip A. Strasburg</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Carol O&#8217;Donnell</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Philip A. Strasburg</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif"><span style="text-decoration: underline">/s/ R. Stephen Harshbarger</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td>
    <td style="font-family: Cambria,serif"><span style="text-decoration: underline">/s/ Dr. Donald F. Mowbray</span></td>
    <td style="font-family: Cambria,serif">May 23, 2024</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">R. Stephen Harshbarger</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Donald F. Mowbray</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Chief Executive Officer and President</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-decoration: underline">/s/ Adeniyi Lawal &#160;</td>
    <td style="font-family: Cambria,serif">May 23, 2024</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Adeniyi Lawal</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">Director</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif">&#160;</td></tr>
  </table>
<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJyVVmtu4zYQPkHuMNDv3aykJi3gf7bjLIy1Y8NWiwJFf9DSOCIikSpJ+dFr7F5ib9khJStKIsuuYcAW+T1m+JiR533yvspHnqGCP0erGUSYFxkzCCvcokIRIyHG028DoN8VPnNtFBPGPZ6IY0kcJM79bRhuaMJBd1xjMgD//ksYfAnvwA8G4a8wnHs3dn4sxZYnKAxnGTCRwFLJQnE0TB0rhYgdpJD50Vn9gUpzKQYQ3PrV9E8I/SCEJ7lje6leNMxmY+/mk/vceF+VLAtCTQ4GhWXCJMOc7HTFfv26aOJSG5kPZhTIUCSjkmcJF896KTMeHyM8mFEm4xcCBn4YBv74/qxEw538U/LCOj6WSnCd2jHSniHTmMosmeaFkrsqpic0VjsISNu/O6s9dj+oHrCQmrtUiHGBw3SaodaTA6qYdmSxXRtKZVEYWhS9TplC3eTln89rGMeypFBXGCPfsU2GK9SoduiCCPuDmIpY2bwfsPqdinepuOwviKxZRtHPmXqhQ0L+a4xLxQ2v4r/EbraD9qC1I3PMN6gI5rsFGNrD1UDduWyB++bgr0rq7w7vx6w8EGZ91AbzTssaATXk40ifvF0Y2pcdihKXtMsUXbOjoxH9rQdBbsFhoQaf2yyDz4pKQDKWzHTEHbzG/YqFGtxKoUN7XmaGDw9cX5Z2ULDY66QXmPeoLSbzC3SToqIalJSxmXGBnSIWAzUILKpbq0umtdmRNFTz3sl8HOzbcnur/08ViPYySmWp6dBGezoKxyhViK4S0N20VXiHy4yJrnDpS3nD99APfwEL+tEXWdsp5cogiutsrIfnUU2vTDyva6zP+UmKCfUheUR84ApjI5Vu1bouT6J8PnGgIZ2d6HM/oW2Nbwid1eUkawtI27N7os9zxjaSLp9Ux6YsdR3bVxg0uDPHRLEEdSr3NgnMqUFQs7eL16vvWLAmWhV6m3jJcaww4e6m/G54xv/F5FGqsczsK4hidmCGhv7qxbaCRvLUOt4d/GFu+xNQqkruqR6VIqHLak9Q7IiwZTE5mCNs0BaTsvYDIyFuG0JWOdpyWVO51mWNPJnDViqI6RpCUt9DoGyRypUrVVIlFpRQh6InG0WBisvk9lyXLrhx7skqmRwKemdBPVUx9Ti7isFvd94V7we0dMifm97a3WkqDLRX8cPYhQvea0Dzb8TfPPd2SVmqj8rBm0LUQXsgPK15vKQNpPeT64l11tfx/gOfSXng -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>2
<FILENAME>ex21.htm
<DESCRIPTION>SUBSIDIARIES OF THE REGISTRANT
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 11pt Cambria,serif; margin: 5.1pt 7.45pt 0 0; text-align: right"><B>Exhibit 21</B></P>

<P STYLE="font: 11pt Cambria,serif; margin: 0.1pt 0 0"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Cambria,serif; margin: 5.1pt 154.05pt 0 154.3pt; text-align: center"><U>Subsidiaries of the Registrant</U></P>

<P STYLE="font: 11pt Cambria,serif; margin: 0.1pt 0 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" ALIGN="CENTER" STYLE="width: 80%; border-collapse: collapse; font-size: 12pt">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 49%; padding-top: 5.1pt; font-family: Times New Roman,serif"><FONT STYLE="font-family: Cambria,serif; font-size: 11pt"><U>Name</U></FONT></TD>
    <TD STYLE="width: 51%; padding-top: 5.1pt; font-family: Times New Roman,serif"><FONT STYLE="font-family: Cambria,serif; font-size: 11pt"><U>State of Organization</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-top: 0.25pt; font-family: Times New Roman,serif">&nbsp;</TD>
    <TD STYLE="padding-top: 0.25pt; font-family: Times New Roman,serif">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font-family: Times New Roman,serif"><FONT STYLE="font-family: Cambria,serif; font-size: 11pt">Sono-Tek Industrial Park LLC</FONT></TD>
    <TD STYLE="font-family: Times New Roman,serif"><FONT STYLE="font-family: Cambria,serif; font-size: 11pt">New York</FONT></TD></TR>
  </TABLE>

<P STYLE="font: 11pt Cambria,serif; margin: 0 7.15pt 0 0; text-align: right">&nbsp;</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0 7.15pt 0 0; text-align: right">&nbsp;</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0 7.15pt 0 0; text-align: right"></P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex23-1.htm
<DESCRIPTION>INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM S CONSENT
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 12pt Times New Roman,serif; margin: 0; text-align: right"><FONT STYLE="font-size: 11pt"><B>Exhibit 23.1</B></FONT></P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0; text-align: center"><FONT STYLE="text-transform: uppercase"><U>Independent Registered
Public Accounting Firm&rsquo;s Consent</U></FONT></P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0; text-align: justify">We consent to the incorporation by reference in the Registration
Statement of Sono-Tek Corporation on Form S-8 (File No. 333-216504) and Form S-3 (File No. 333-267067) of our report dated May 23, 2024,
with respect to our audits of the consolidated financial statements of Sono-Tek Corporation as of February 29, 2024 and February 28, 2023
and for the years ended February 29, 2024 and February 28, 2023, which report is included in this Annual Report on Form 10-K of Sono-Tek
Corporation for the year ended February 29, 2024.</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">/s/ Marcum <FONT STYLE="font-variant: small-caps">llp</FONT></P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">Marcum <FONT STYLE="font-variant: small-caps">llp</FONT></P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">East Hanover, NJ</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">May 23, 2024</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex31-1.htm
<DESCRIPTION>RULE 13A-14/15D 14(A) CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 9pt Cambria,serif; margin: 5.1pt 7.3pt 0 0; text-align: right"><B>Exhibit 31.1</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.5pt 0 0"><B>&nbsp;</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 154pt 0 154.3pt; text-align: center">RULE 13a-14/15d &ndash; 14(a) CERTIFICATION</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 0 0 7.55pt">I, R. Stephen Harshbarger (principal executive officer), certify that:</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">1.</FONT></TD><TD><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">I have reviewed this Annual Report on Form 10-K of Sono-Tek Corporation;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">2.</FONT></TD><TD STYLE="padding-right: 15.3pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">3.</FONT></TD><TD STYLE="padding-right: 23.2pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">4.</FONT></TD><TD STYLE="padding-right: 20.15pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Sono-Tek Corporation&rsquo;s other certifying
officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e)
and 15d &ndash; 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:</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.2pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0 9.55pt 0 73.1pt; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">a)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.5pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 9.7pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">b)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 21.5pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">c)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls
and procedures and presented in this report our conclusions about the effectiveness of disclosure controls and procedures, as of the end
of the period covered by this report based on such evaluation; and</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0 11.2pt 0 73.1pt; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">d)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Disclosed in this report any change in the registrant&rsquo;s internal
control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant&rsquo;s fourth
fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s
internal control over financial reporting; and</FONT></P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.5pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">5.</FONT></TD><TD STYLE="padding-right: 19.65pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Sono-Tek Corporation&rsquo;s other certifying
officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s
auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing equivalent functions):</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 73.05pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">a.</FONT></TD><TD STYLE="padding-right: 14.7pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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&rsquo;s
ability to record, process, summarize and report financial information; and</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 73.05pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">b.</FONT></TD><TD STYLE="padding-right: 21.55pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Any fraud, whether or not material, that involves
management or other employees who have a significant role in the registrant&rsquo;s internal controls over financial reporting.</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 0 0 23.9pt">Date: May 23, 2024</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 355.5pt 0 23.9pt"><U>/s/R. Stephen Harshbarger &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 5.25in 0 23.9pt">R. Stephen Harshbarger </P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.3pt 333pt 0 23.9pt">Chief Executive Officer and President</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.3pt 333pt 0 23.9pt">(principal executive officer)</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex31-2.htm
<DESCRIPTION>RULE 13A-14/15D 14(A) CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 9pt Cambria,serif; margin: 5.1pt 7.3pt 0 0; text-align: right"><B>Exhibit 31.2</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.5pt 0 0"><B>&nbsp;</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 154pt 0 154.3pt; text-align: center">RULE 13a-14/15d &ndash; 14(a) CERTIFICATION</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 0 0 7.55pt">I, Stephen J. Bagley (principal accounting officer), certify that:</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">1.</FONT></TD><TD><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">I have reviewed this Annual Report on Form 10-K of Sono-Tek Corporation;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">2.</FONT></TD><TD STYLE="padding-right: 15.3pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">3.</FONT></TD><TD STYLE="padding-right: 23.2pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">4.</FONT></TD><TD STYLE="padding-right: 20.15pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Sono-Tek Corporation&rsquo;s other certifying
officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e)
and 15d &ndash; 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:</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.2pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0 9.55pt 0 73.1pt; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">a)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.5pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 9.7pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">b)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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;</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 21.5pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">c)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls
and procedures and presented in this report our conclusions about the effectiveness of disclosure controls and procedures, as of the end
of the period covered by this report based on such evaluation; and</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0 11.2pt 0 73.1pt; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">d)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Disclosed in this report any change in the registrant&rsquo;s internal
control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant&rsquo;s fourth
fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s
internal control over financial reporting; and</FONT></P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.5pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">5.</FONT></TD><TD STYLE="padding-right: 19.65pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Sono-Tek Corporation&rsquo;s other certifying
officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s
auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing equivalent functions):</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 31.15pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">a)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">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&rsquo;s ability
to record, process, summarize and report financial information; and</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.15pt 0 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman,serif; margin: 0.05pt 12.8pt 0 73.1pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">b)</FONT><FONT STYLE="font-family: Times New Roman; font-size: 7pt">&nbsp;
</FONT><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">Any fraud, whether or not material, that involves management or other
employees who have a significant role in the registrant&rsquo;s internal controls over financial reporting.</FONT></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 0 0 23.9pt">Date: May 23, 2024</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 5in 0 23.9pt"><U>/s/ Stephen J. Bagley&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 373.5pt 0 23.9pt">Stephen J. Bagley</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.3pt 364.5pt 0 23.9pt">Chief Financial Officer</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.3pt 364.5pt 0 23.9pt">(principal accounting officer)</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex32-1.htm
<DESCRIPTION>CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 9pt Cambria,serif; margin: 5.1pt 7.3pt 0 0; text-align: right"><B>Exhibit 32.1</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.5pt 0 0"><B>&nbsp;</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 189pt 0 202.5pt; text-align: center; text-indent: -0.25in">CERTIFICATION PURSUANT TO 18 U.S.C.
SECTION 1350,</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 153.95pt 0 154.3pt; text-align: center">AS ADOPTED PURSUANT TO</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 135pt 0 154.3pt; text-align: center">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 23pt 0 7.55pt">In connection with the Annual Report of Sono-Tek Corporation on
Form 10-K for the year ended February 29, 2024 as filed with the Securities and Exchange Commission on the date hereof (the
&ldquo;Report&rdquo;). I, R. Stephen Harshbarger, Chief Executive Officer and President (principal executive officer) of the Company,
certify, pursuant to 18 U.S.C. section 1350, as adopted pursuant to section 906 of the Sarbanes-Oxley Act of 2002, that:</P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.45pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0.05pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">(1)</FONT></TD><TD><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">The Report fully complies with the requirements of section 13(a) and 15(d)
of the Securities Exchange Act of 1934; and</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">(2)</FONT></TD><TD STYLE="padding-right: 12.65pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">The information contained in the Report fairly
presents, in all material respects, the financial condition and result of operations of the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 0 0 7.55pt">Date: May 23, 2024</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.2pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 5in 0 7.6pt"><U>/s/ R. Stephen Harshbarger &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.05pt 5.5in 0 7.6pt">R. Stephen Harshbarger </P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 346.5pt 0 7.6pt">Chief Executive Officer and President</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 346.5pt 0 7.6pt">(principal executive officer)</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>ex32-2.htm
<DESCRIPTION>CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 9pt Cambria,serif; margin: 5.15pt 7.3pt 0 0; text-align: right"><B>Exhibit 32.2</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0"><B>&nbsp;</B></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 166.5pt 0 211.8pt; text-align: center">CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 153.95pt 0 154.3pt; text-align: center">AS ADOPTED PURSUANT TO</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 130.5pt 0 154.3pt; text-align: center">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</P>

<P STYLE="font: 4.5pt Cambria,serif; margin: 0.45pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 5.1pt 13.3pt 0 7.55pt">In connection with the Annual Report of Sono-Tek Corporation on Form
10-K for the year ended February 29, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &ldquo;Report&rdquo;).
I, Stephen J. Bagley, Chief Financial Officer (principal accounting officer) of the Company, certify, pursuant to 18 U.S.C. section 1350,
as adopted pursuant to section 906 of the Sarbanes-Oxley Act of 2002, that:</P>

<P STYLE="font: 8.5pt Cambria,serif; margin: 0.5pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">(1)</FONT></TD><TD><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">The Report fully complies with the requirements of section 13(a) and 15(d)
of the Securities Exchange Act of 1934; and</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman,serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 23.85pt"></TD><TD STYLE="width: 16.6pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">(2)</FONT></TD><TD STYLE="padding-right: 12.65pt"><FONT STYLE="font-family: Cambria,serif; font-size: 9pt">The information contained in the Report fairly
presents, in all material respects, the financial condition and result of operations of the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 9pt Cambria,serif; margin: 0.1pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 0 0 7.55pt">Date: May 23, 2024</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 0 0">&nbsp;</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 355.5pt 0 23.9pt; text-indent: -0.05pt"><U>/s/ Stephen J. Bagley&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></P>

<P STYLE="font: 9pt Cambria,serif; margin: 0 391.5pt 0 23.9pt; text-indent: -0.05pt">Stephen J. Bagley</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 5in 0 23.9pt">Chief Financial Officer</P>

<P STYLE="font: 9pt Cambria,serif; margin: 0.25pt 5in 0 23.9pt">(principal accounting officer)</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>

<P STYLE="font: 11pt Cambria,serif; margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>sotk-logo.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 sotk-logo.jpg
M_]C_X0G,17AI9@  34T *@    @ " $2  ,    !  $   $:  4    !
M;@$;  4    !    =@$H  ,    !  (   $Q  (    >    ?@$R  (    4
M    G $[  (    $:FUP (=I  0    !    L    -P +<;    G$  MQL
M "<0061O8F4@4&AO=&]S:&]P($-3-2XQ(%=I;F1O=W, ,C Q-3HP-3HQ-2 Q
M-3HS.#HT,@   Z !  ,    !  $  * "  0    !   '&J #  0    !
MG          & 0,  P    $ !@   1H !0    $   $J 1L !0    $   $R
M 2@  P    $  @   @$ !     $   $Z @( !     $   B*         $@
M   !    2     '_V/_M  Q!9&]B95]#30 !_^X #D%D;V)E &2      ?_;
M (0 # @(" D(# D)#!$+"@L1%0\,# \5&!,3%1,3&!$,# P,# P1# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# $-"PL-#@T0#@X0% X.#A04#@X.#A01
M# P,# P1$0P,# P,#!$,# P,# P,# P,# P,# P,# P,# P,# P,# P,_\
M$0@ #@"@ P$B  (1 0,1 ?_=  0 "O_$ 3\   $% 0$! 0$!          ,
M 0($!08'" D*"P$  04! 0$! 0$          0 " P0%!@<("0H+$  !! $#
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
M       0CL_8NKN=$M$"\\9T40!D)3A"24T$.@      CP   !     !
M   +<')I;G1/=71P=70    $     %!S=%-B;V]L 0    !);G1E96YU;0
M  !);G1E     $-L<FT    /<')I;G13:7AT965N0FET8F]O;      +<')I
M;G1E<DYA;65415A4    #0!, &4 > !M &$ <@!K "  5  V #( ,@   #A"
M24T$.P     !L@   !     !       2<')I;G1/=71P=71/<'1I;VYS
M$@    !#<'1N8F]O;       0VQB<F)O;VP      %)G<TUB;V]L      !#
M<FY#8F]O;       0VYT0V)O;VP      $QB;'-B;V]L      !.9W1V8F]O
M;       16UL1&)O;VP      $EN=')B;V]L      !"8VMG3V)J8P    $
M      !21T)#     P    !29" @9&]U8D!OX            $=R;B!D;W5B
M0&_@            0FP@(&1O=6) ;^            !"<F1456YT1B-2;'0
M              !";&0@56YT1B-2;'0               !2<VQT56YT1B-0
M>&Q <L            IV96-T;W)$871A8F]O; $     4&=0<V5N=6T
M4&=0<P    !09U!#     $QE9G15;G1&(U)L=                %1O<"!5
M;G1&(U)L=                %-C;"!5;G1&(U!R8T!9        .$))30/M
M       0 2P    !  $!+     $  3A"24T$)@      #@             _
M@   .$))300-       $    >#A"24T$&0      !    !XX0DE- _,
M  D           $ .$))32<0       *  $          CA"24T#]0
M2  O9F8  0!L9F8 !@       0 O9F8  0"AF9H !@       0 R     0!:
M    !@       0 U     0 M    !@       3A"24T#^       <   ____
M_________________________P/H     /__________________________
M__\#Z     #_____________________________ ^@     ____________
M_________________P/H   X0DE-!         (  #A"24T$ @       @
M.$))300P       ! 0 X0DE-!"T       8  0    (X0DE-! @      !
M   !   "0    D      .$))300>       $     #A"24T$&@     #40
M  8              )P   <:    #@!& &\ <@!M #$ , !+ #( ,@ X #$
M-0 M #$    !                          $             !QH   "<
M                      $                         $     $
M  !N=6QL     @    9B;W5N9'-/8FIC     0       %)C=#$    $
M %1O<"!L;VYG          !,969T;&]N9P          0G1O;6QO;F<   "<
M     %)G:'1L;VYG   '&@    9S;&EC97-6;$QS     4]B:F,    !
M   %<VQI8V4    2    !W-L:6-E241L;VYG          =G<F]U<$E$;&]N
M9P         &;W)I9VEN96YU;0    Q%4VQI8V5/<FEG:6X    -875T;T=E
M;F5R871E9     !4>7!E96YU;0    I%4VQI8V54>7!E     $EM9R     &
M8F]U;F1S3V)J8P    $       !28W0Q    !     !4;W @;&]N9P
M    3&5F=&QO;F<          $)T;VUL;VYG    G     !29VAT;&]N9P
M!QH    #=7)L5$585     $       !N=6QL5$585     $       !-<V=E
M5$585     $       9A;'1486=415A4     0      #F-E;&Q497AT27-(
M5$U,8F]O; $    (8V5L;%1E>'1415A4     0      "6AO<GI!;&EG;F5N
M=6T    /15-L:6-E2&]R>D%L:6=N    !V1E9F%U;'0    )=F5R=$%L:6=N
M96YU;0    ]%4VQI8V5697)T06QI9VX    '9&5F875L=     MB9T-O;&]R
M5'EP965N=6T    115-L:6-E0D=#;VQO<E1Y<&4     3F]N90    ET;W!/
M=71S971L;VYG          IL969T3W5T<V5T;&]N9P         ,8F]T=&]M
M3W5T<V5T;&]N9P         +<FEG:'1/=71S971L;VYG       X0DE-!"@
M      P    "/_         X0DE-!!0       0    ".$))300,      BF
M     0   *     .   !X   &D    B* !@  ?_8_^T #$%D;V)E7T--  '_
M[@ .061O8F4 9(     !_]L A  ," @("0@,"0D,$0L*"Q$5#PP,#Q48$Q,5
M$Q,8$0P,# P,#!$,# P,# P,# P,# P,# P,# P,# P,# P,# P, 0T+"PT.
M#1 .#A 4#@X.%!0.#@X.%!$,# P,#!$1# P,# P,$0P,# P,# P,# P,# P,
M# P,# P,# P,# P,# S_P  1"  . * # 2(  A$! Q$!_]T !  *_\0!/P
M 04! 0$! 0$          P ! @0%!@<("0H+ 0 !!0$! 0$! 0         !
M  (#! 4&!P@)"@L0  $$ 0,"! (%!P8(!0,,,P$  A$#!"$2,05!46$3(G&!
M,@84D:&Q0B,D%5+!8C,T<H+10P<EDE/PX?%C<S46HK*#)D235&1%PJ-T-A?2
M5>)E\K.$P]-UX_-&)Y2DA;25Q-3D]*6UQ=7E]59F=H:6IK;&UN;V-T=79W>'
MEZ>WQ]?G]Q$  @(! @0$ P0%!@<'!@4U 0 "$0,A,1($05%A<2(3!3*!D12A
ML4(CP5+1\#,D8N%R@I)#4Q5C<S3Q)086HK*#!R8UPM)$DU2C%V1%539T9>+R
MLX3#TW7C\T:4I(6TE<34Y/2EM<75Y?569G:&EJ:VQM;F]B<W1U=G=X>7I[?'
M_]H # ,!  (1 Q$ /P"SG'JYZOU,]:/UF:1E6?8OV//V7[)I]ECT?9ZNS^=_
M\$_3>JK6)F.Z_P!3Z/T/IW5LYO1OV>_J%F7ZA9F9#VW/Q/L^1EPVQOH6-=ZG
MI_3_ .V;*]/J'2:+,O)L=UKZPT[['N=5CLN-39)/IXWIX%GZ)G^!].RQ4*L+
MZC78O0*>CY^3BY+&7?LG)PVV.R'L#WMS/M#'8]OZ!^1ZKW_:*::OYWT/T/J)
M*<WZP=1ZOT3'^LO1:>I9=]6-1B9>'DV6EV33ZMU->13]K&VYV_?[/=_-?VU>
M/5^JU7]&Z+EYCQU'IO5JL3,<VPM.5C65V7865:UKOTM>12S]-O?9^L5O]53O
MP/J2WIGUAQL_J6:^YSL<];S<AM@RFC>S[$QC+,7;]GWM_1^AC6?H7_Z/T%I?
M6#&^J-OUKZ+9U#+LHZW3L.%56"?5;O/H-R?T-S&U^JV[T_TF/].Y)3D]'Q.I
M_63ZNYGUER.LYV+F7.O?BTX]YJQZ!07MIJ=C,]EK?T?Z?U/?;5_POZ5:72_K
M7=U+H?2:,QES<CK..:KLNAPJ<QSG.Q/7Q]K?Y[</M'L_HZH6=,^JEV-U>[ Z
MOU+&Z.;;/VGCX3+#C!X_I7HO&'=^A=_VH^S6OH]'_NNNRZ-^ROV5A?LK;^S_
M $6?8XG^;V^S^=_2[MGT_4_2_P"E1B0#J+6Y(S(J$N V-:XM/TH_X3QO3.A9
M%OULZETFSK?5W8W3:\6ZF<QVYQL!LM;?[?TE;MJQL#J^?UO&/5>H'ZSV693W
MNK;T9NS#96'.9731M=^E=7MV6VO]^_\ [=L[[ HZ,WZU=5NQ\BQ_5;*L<9N.
MX?HV,#3]F=6[TF_SC?I_I[5S^+TSZMWV95O0NK=8Q<1U[_4IZ:RXXK;0?TWV
M8_8LBO;O_P!!;Z/[GZ-!<U.J=>ZO3]8.L]'Q\JR@]2S<7"QLVUSCCX8?C^K=
MZ/N]F5D3^K4L]+U+?TGJ_HUW553>E=*V!]V4,2HDV7V&RZPL!>YUMS_I66?^
MJ_8N9ZMC?4G;]9CU/+?LO=C#JH<#^@LV;<)V'MHW.MV_I/9]J_[XNGZ73Z'3
M<>HWW936UB+\L1>YL2S[2'5T.];9[;/5J9=_IOTJ2GDOJITC.^L'2L3ZP=2Z
MUU$966XW&C&R#3CM#;'-90W&8W;LV5_I%8L^O.:W$?UP=/8?J[5D_9G9)N/V
M@M]3[(<YF+Z6S[/Z_P"C]'UOM"K='Z9]7K&LNZ!U;K-73C>748^,RXX8=O\
MTE=+K<*S]6];?ZOZ?TOYU1LP/J::[<IW4<P=#_:$W80:_P#9_P!JW[2US_LO
M]"^U>_\ I7[.^T)*;V)]<.K9.?EL9TQKL#$R\S"?E-M<2Q^)6[(9;D5^AZ=5
M.3[*6_IOYU__ &ZL'ZZ9_I]-RNK8%6-T_JU;GT9-%YM+'-J=E-JR*74TN_2U
M5OV^D^WWJQTVCHU72_K$.E9#[_4S,U^<;00*\IS&_::*_P!%5^AJ]FS;ZW_&
MV+#^K&%T*FCZOW]6ZAEY&0_$/V#&RFO&&TFF;_1=]FHI]F+ZC:_M-]GZ+_K:
M2G6POKAU-QZ7E]0Z<S%Z7URQM.%:R[U+F.L:ZS$^U4^DQGZVQN]GHVV>C_AD
M'HOUUZOU/!&?=TZC#P[L6S)HS+<AXQVOJN^R.QLV\XVW'>_WVLV^I[/_  (/
M2L#ZJ4V]&O;U'.R,)UC_ -A8N6VP8S;"'&OTW68M+M[*]_[/^V7_ ,W_ $;U
M$1F+]3&_XM_LS\RY_P!6MI'VQP=ZVN3+7[64,LW5YOM9^J_\9^C24K$^N^5U
M')R.F8K,'(R_LC\FB[%RWV4^QS:K*;[/LM5U%K6/]6O]'_F?353I'5.J/Z-]
M5GY[[7.R\MC*K:LI^ZYAKN>Y_4FV4N]7Z']%]9__ !ZUL;IW2<;ZP5V9G5,W
M,ZC]BM%=66UH;]F+F?:'_H,/%]V_9_A?45/IG3_JO7@=$]'J6;=B#-;9T;UV
MD38&6@8S-V)5;]D<PO\ YW_M])27#^NW4,BO!ZG9TUM?0^J90P\:X73D-WO=
M1CY.1C^FVEM-MC?>QF1OJ_X7_"-1]=>J;L6_)Z;4W S.HGI3+:\@NM;9ZC\=
MMKZ'4,9Z6^K_ $ZI]/P?J8QO3,FCJ.;9TDY\]*PWMM&&,LO=Z3:G_966^FR_
M=Z'K9/H>KZOT_P!,KC</ZJ#IO3V?;L@XS.MBW&L+3N?G^M:?LEGZO_,?:/5;
MNV5_^&4E/__9.$))300A      !9     0$    / $$ 9 !O &( 90 @ %
M: !O '0 ;P!S &@ ;P!P    %0!! &0 ;P!B &4 ( !0 &@ ;P!T &\ <P!H
M &\ <  @ $, 4P U "X ,0    $ .$))300&       '  @    ! 0#_X1%
M:'1T<#HO+VYS+F%D;V)E+F-O;2]X87 O,2XP+P \/WAP86-K970@8F5G:6X]
M(N^[OR(@:60](E<U33!-<$-E:&E(>G)E4WI.5&-Z:V,Y9"(_/B \>#IX;7!M
M971A('AM;&YS.G@](F%D;V)E.FYS.FUE=&$O(B!X.GAM<'1K/2)!9&]B92!8
M35 @0V]R92 U+C M8S V,2 V-"XQ-# Y-#DL(#(P,3 O,3(O,#<M,3 Z-3<Z
M,#$@(" @(" @("(^(#QR9&8Z4D1&('AM;&YS.G)D9CTB:'1T<#HO+W=W=RYW
M,RYO<F<O,3DY.2\P,B\R,BUR9&8M<WEN=&%X+6YS(R(^(#QR9&8Z1&5S8W)I
M<'1I;VX@<F1F.F%B;W5T/2(B('AM;&YS.F1C/2)H='1P.B\O<'5R;"YO<F<O
M9&,O96QE;65N=',O,2XQ+R(@>&UL;G,Z>&UP/2)H='1P.B\O;G,N861O8F4N
M8V]M+WAA<"\Q+C O(B!X;6QN<SIP9&8](FAT=' Z+R]N<RYA9&]B92YC;VTO
M<&1F+S$N,R\B('AM;&YS.GAM<$U-/2)H='1P.B\O;G,N861O8F4N8V]M+WAA
M<"\Q+C O;6TO(B!X;6QN<SIS=$5V=#TB:'1T<#HO+VYS+F%D;V)E+F-O;2]X
M87 O,2XP+W-4>7!E+U)E<V]U<F-E179E;G0C(B!X;6QN<SIS=%)E9CTB:'1T
M<#HO+VYS+F%D;V)E+F-O;2]X87 O,2XP+W-4>7!E+U)E<V]U<F-E4F5F(R(@
M>&UL;G,Z<&AO=&]S:&]P/2)H='1P.B\O;G,N861O8F4N8V]M+W!H;W1O<VAO
M<"\Q+C O(B!D8SIF;W)M870](FEM86=E+VIP96<B('AM<#I#<F5A=&5$871E
M/2(R,#$U+3 U+3$U5#$S.C$U.C4R+3 T.C P(B!X;7 Z0W)E871O<E1O;VP]
M(E!38W)I<'0U+F1L;"!697)S:6]N(#4N,BXR(B!X;7 Z36]D:69Y1&%T93TB
M,C Q-2TP-2TQ-50Q-3HS.#HT,BTP-#HP,"(@>&UP.DUE=&%D871A1&%T93TB
M,C Q-2TP-2TQ-50Q-3HS.#HT,BTP-#HP,"(@<&1F.E!R;V1U8V5R/2)!8W)O
M8F%T($1I<W1I;&QE<B Q,"XQ+C$T("A7:6YD;W=S*2(@>&UP34TZ1&]C=6UE
M;G1)1#TB>&UP+F1I9#HP,#0V1$5#,#$T1D)%-#$Q03<V0CDP03E".4-$0C%"
M-B(@>&UP34TZ26YS=&%N8V5)1#TB>&UP+FEI9#HP,30V1$5#,#$T1D)%-#$Q
M03<V0CDP03E".4-$0C%"-B(@>&UP34TZ3W)I9VEN86Q$;V-U;65N=$E$/2)U
M=6ED.C,S961F9&5C+3%B-SDM-#,S9BTX860Q+3AF,#(V,&1F.30W.2(@<&AO
M=&]S:&]P.D-O;&]R36]D93TB,R(@<&AO=&]S:&]P.DE#0U!R;V9I;&4](G-2
M1T(@245#-C$Y-C8M,BXQ(CX@/&1C.G1I=&QE/B \<F1F.D%L=#X@/')D9CIL
M:2!X;6PZ;&%N9STB>"UD969A=6QT(CY-:6-R;W-O9G0@5V]R9" M($9O<FTQ
M,$LR,C@Q-2YD;V,\+W)D9CIL:3X@/"]R9&8Z06QT/B \+V1C.G1I=&QE/B \
M9&,Z8W)E871O<CX@/')D9CI397$^(#QR9&8Z;&D^:FUP/"]R9&8Z;&D^(#PO
M<F1F.E-E<3X@/"]D8SIC<F5A=&]R/B \>&UP34TZ2&ES=&]R>3X@/')D9CI3
M97$^(#QR9&8Z;&D@<W1%=G0Z86-T:6]N/2)C;VYV97)T960B('-T179T.G!A
M<F%M971E<G,](F9R;VT@87!P;&EC871I;VXO<&1F('1O(&%P<&QI8V%T:6]N
M+W9N9"YA9&]B92YP:&]T;W-H;W B+SX@/')D9CIL:2!S=$5V=#IA8W1I;VX]
M(G-A=F5D(B!S=$5V=#II;G-T86YC94E$/2)X;7 N:6ED.C P-#9$14,P,31&
M0D4T,3%!-S9".3!!.4(Y0T1",4(V(B!S=$5V=#IW:&5N/2(R,#$U+3 U+3$U
M5#$U.C,X.C0R+3 T.C P(B!S=$5V=#IS;V9T=V%R94%G96YT/2)!9&]B92!0
M:&]T;W-H;W @0U,U+C$@5VEN9&]W<R(@<W1%=G0Z8VAA;F=E9#TB+R(O/B \
M<F1F.FQI('-T179T.F%C=&EO;CTB8V]N=F5R=&5D(B!S=$5V=#IP87)A;65T
M97)S/2)F<F]M(&%P<&QI8V%T:6]N+W!D9B!T;R!I;6%G92]J<&5G(B\^(#QR
M9&8Z;&D@<W1%=G0Z86-T:6]N/2)D97)I=F5D(B!S=$5V=#IP87)A;65T97)S
M/2)C;VYV97)T960@9G)O;2!A<'!L:6-A=&EO;B]V;F0N861O8F4N<&AO=&]S
M:&]P('1O(&EM86=E+VIP96<B+SX@/')D9CIL:2!S=$5V=#IA8W1I;VX](G-A
M=F5D(B!S=$5V=#II;G-T86YC94E$/2)X;7 N:6ED.C Q-#9$14,P,31&0D4T
M,3%!-S9".3!!.4(Y0T1",4(V(B!S=$5V=#IW:&5N/2(R,#$U+3 U+3$U5#$U
M.C,X.C0R+3 T.C P(B!S=$5V=#IS;V9T=V%R94%G96YT/2)!9&]B92!0:&]T
M;W-H;W @0U,U+C$@5VEN9&]W<R(@<W1%=G0Z8VAA;F=E9#TB+R(O/B \+W)D
M9CI397$^(#PO>&UP34TZ2&ES=&]R>3X@/'AM<$U-.D1E<FEV961&<F]M('-T
M4F5F.FEN<W1A;F-E240](GAM<"YI:60Z,# T-D1%0S Q-$9"130Q,4$W-D(Y
M,$$Y0CE#1$(Q0C8B('-T4F5F.F1O8W5M96YT240](GAM<"YD:60Z,# T-D1%
M0S Q-$9"130Q,4$W-D(Y,$$Y0CE#1$(Q0C8B('-T4F5F.F]R:6=I;F%L1&]C
M=6UE;G1)1#TB=75I9#HS,V5D9F1E8RTQ8C<Y+30S,V8M.&%D,2TX9C R-C!D
M9CDT-SDB+SX@/"]R9&8Z1&5S8W)I<'1I;VX^(#PO<F1F.E)$1CX@/"]X.GAM
M<&UE=&$^(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @/#]X<&%C:V5T(&5N9#TB
M=R(_/O_B#%A)0T-?4%)/1DE,10 ! 0  #$A,:6YO A   &UN=')21T(@6%E:
M( ?.  ( "0 & #$  &%C<W!-4T94     $E%0R!S4D="
M  #VU@ !     -,M2% @(
M                        $6-P<G0   %0    ,V1E<V,   &$    ;'=T
M<'0   'P    %&)K<'0   ($    %')865H   (8    %&=865H   (L
M%&)865H   )     %&1M;F0   )4    <&1M9&0   +$    B'9U960   -,
M    AG9I97<   /4    )&QU;6D   /X    %&UE87,   0,    )'1E8V@
M  0P    #')44D,   0\   (#&=44D,   0\   (#&)44D,   0\   (#'1E
M>'0     0V]P>7)I9VAT("AC*2 Q.3DX($AE=VQE='0M4&%C:V%R9"!#;VUP
M86YY  !D97-C         !)S4D="($E%0S8Q.38V+3(N,0
M$G-21T(@245#-C$Y-C8M,BXQ
M                              !865H@        \U$  0    $6S%A9
M6B                      6%E:(        &^B   X]0   Y!865H@
M    8ID  +>%   8VEA96B         DH   #X0  +;/9&5S8P         6
M245#(&AT=' Z+R]W=W<N:65C+F-H               6245#(&AT=' Z+R]W
M=W<N:65C+F-H
M             &1E<V,         +DE%0R V,3DV-BTR+C$@1&5F875L="!2
M1T(@8V]L;W5R('-P86-E("T@<U)'0@              +DE%0R V,3DV-BTR
M+C$@1&5F875L="!21T(@8V]L;W5R('-P86-E("T@<U)'0@
M              !D97-C         "Q2969E<F5N8V4@5FEE=VEN9R!#;VYD
M:71I;VX@:6X@245#-C$Y-C8M,BXQ               L4F5F97)E;F-E(%9I
M97=I;F<@0V]N9&ET:6]N(&EN($E%0S8Q.38V+3(N,0
M                =FEE=P      $Z3^ !1?+@ 0SQ0  ^W,  03"P #7)X
M   !6%E:(       3 E6 %    !7'^=M96%S          $
M           "CP    )S:6<@     $-25"!C=7)V        !      %  H
M#P 4 !D '@ C "@ +0 R #< .P!  $4 2@!/ %0 60!> &, : !M '( =P!\
M ($ A@"+ )  E0": )\ I "I *X L@"W +P P0#& ,L T #5 -L X #E .L
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
MMGFV\+=HM^"X6;C1N4JYPKH[NK6[+KNGO"&\F[T5O8^^"KZ$OO^_>K_UP'#
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
M7W['6_!/2:_Z"_NS_P#O'OKO_P!!G?7_ -DWOV.M^#U[_H+^[/\ ^\>^N_\
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
M_#K1X'K[&N(_XM=!_P!0D'_6L>]](3QZ<??NO=:!W_"O,D=_] 6/_-)<,?\
MV(>Y/?CTHAZT^_>NG^L,_P#F)O\ EE)_T(??NO=?1?\ ^$GO_9#'97_B7Z/_
M -]=M_WOI++\76TY[]TUU[W[KW7O?NO=$&_F*?._JWX$_'G>':>^,[C8MQG$
MY7'[(VT:[%G+Y7=%7MO)UVVW.(J:^AJ7HWJZ PRS4SE@3I0%_I[JRKJ-.OE2
M?,3Y;=H_-GO?>/>G:6:R%?/G\SFZG;&#JJ_)UE#M7;^6S,^;IL%BJ;+3U,E-
M!!+42>.$3,%N>223[T<]+%4**#HKWOW6^NR)"8HH8I*BHJ)(X*:G@C:6HJJJ
M8Z(*6FA3U/([65$4%F)  O[]U[AUNF?\)U?Y+SYJHPWS6^2VTO\ )@E%D>JM
MH;DQ ,8IJN'!;UVONU\3N;$QS1UE-413QI/2U91.0I+7(V.F))/)>MZ.&&*G
MBC@@C2&&%%CBBC4*D:*+*JJ/H![]TGZR^_=>Z][]U[KWOW7NO>_=>Z][]U[K
MWOW7NO>_=>Z][]U[I"=E=E['ZAV7GNP.Q-RX;:NUMN8S(Y.OR>;RV+P].T>-
MQTV4FI*:IR\U/"T[PP2F*(R@MI/T )'NO 5P.M&_^:=_PIJWCG\YNGI3X2*<
M1@\?79/#Y'M.63-X+.RR4T^0Q$E1M?/;0ST]'44SP2TM3#+XK-(E[:5 /J]*
M$A\VZU)>U^\>Y^]L_7;F[D[1WMV1ELA43U4\N[]P5^=T25,\E3(L4F09WMKE
ME87)Y9C^?>J]/  "@Z">*EIX/\S!'%_P1 O^]>_=6ZD7/]3[]UKKKW[KW7O?
MNO=>]^Z]U[W[KW6*?_,3?\LI/^A#[]U[KZ+_ /PD]_[(8[*_\2_1_P#OKMO^
M]])9?BZVG/?NFNO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[K
MWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=
M>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KW
MOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>
MZ][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWO
MW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z
M][]U[KWOW7NO>_=>Z][]U[KWOW7NJV_YMG_9 _R%_P#$:]C?^^QSGO8ZLGQ=
M?(IB^C?\'/\ O0]UZ6]9/?NO=;?/_"13_F>G<O\ VK=__P#N/M;WX=-3_".M
M_P!][Z2]>]^Z]U[W[KW1:?F;_P!DC_)[_P 5][G_ /?;9/W[K8XCKXX&\_\
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
MX;:FUL/C-O[<V]CJ7$X3"8;'T6*Q6*QM%$(:2AQ^-QT<4$$,: *D4,:HH%@
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
MP9N@VU@<WN/*S)38O;^(R6;R51))##'!08JC>OK)GEJ7CC4+'&S%I'50!=F
MN??NO=?*B_GA?,S._,/YY=HE-Q5F4Z]Z@W/O#K79U#_%ZRMQ$^)P^^,AD\1D
M(*893)T+,(ZME26E\* &R1*"2='I9&M%ZI^/U/\ KG_>_?NK]=>_=>ZL:_EF
M?RZ>T_YC7?V#Z[VC0UN/Z\PU=39/L/>CTVXJ7%TF(Q&=Q<>X\#1;CQF#SE#'
MDY*#(>:EI:Z!4:VN4K&/5[JKOI'7TY?A7_+B^+GP>Z\V]M#JOJ[9(W'B\;CJ
M7*=B5^R>NQO[,UE)CZ:BJ*S);MVY@\3/4/.U+%--))$&>0!R!8 ;Z2,Q;CT?
M?W[JO7O?NO==$!@58 J0001<$'@@@^_=>ZKJ^=/\L7XL?.KKC<NV>Q.L-E4.
M^*W'9-]O]E8C9775-OG'YN3&5\.,:3>6<P&7K(J85=::J8P1F02*LJ>L>KW5
ME8KPZ^8;_,0^!':/\O3Y#[FZ<WYC\I+MA\AF:SKO=]72[ADHMP;2I=PU6!Q%
M;)G\SA\)3U<]0:25Q)0TOAD NA%BHUTK5@PZ(E[]U;KKW[KW6P)_PG4^<N5^
M*OS2Q?6>;S4L/6?<D<N$?%UN1J8\2=^[SW3MS:N)K5HJO+X['^=:>)E20T\]
M0!<(KK=![IN505KY]?3OCDCFC26&1)8I%#QR1NKQNC"ZLCK<$'\$'WOI)US]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=<)(TE1XI422.1&CDCD4.DB.-+HZ-
M<$$&Q!^OOW7NDXVRMFNS.^TMLL[DLS-@<4S,Q^K,QBN3_B??NO=<?[D;+_YY
M#:__ )X,5_UZ]^Z]4]>_N1LO_GD-K_\ G@Q7_7KW[KU3U[^Y&R_^>1VO_P">
M#%?]>O?NO5ZT7O\ A79A\/B-^= IB<3C,6LFQ]L-)_#J"EHM9.]-RJ2WVRK>
MX !O_0>_'I1#P/6FE[UT_P!='Z'_ %C_ +U[]U[K=5_X2/8?#9:F[T3*X?%9
M31O'=.A\CCZ6M>-1MG;)"(U2K66Y)L/R3[\.D\W6[U_<C9?_ #R&U_\ SP8K
M_KU[WTQ4]>_N1LO_ )Y#:_\ YX,5_P!>O?NO5/7O[D;+_P">0VO_ .>#%?\
M7KW[KU3US39>SHW22/:>VDDC97C=,%BU='0ZD=&6*X(/((^GOW7NG/)5^/P&
M(R&5K9(*+%X;'5>1K)G>"FIZ2@Q],U54RO)*R1QHD:,Q9F50!<D#GW[KW7RY
M_P"?]\Y,U\O?G#O?9^/ST]7UIT9F=S=:XC'T64JZC!Y.IVSOG*5>+SWVD&7R
M>/FE\%842JBBISIX2)%Y;1Z5QKI6O5&GOW3G77OW7NK(/Y:G\M/NC^9#W)0[
M)V/C<AANN,/6)-OOL&JH]UX_"T-)CLIC!F\)CMUXC YV@BRCT&0^XI*:LB53
MI\DEHQZO=59P@KY]?1/^%W\D'X'_ !#VGA*(],;#[>WG38VCCRN[NX.NNG-_
MYDY2*DIH:BJQ^?\ [IXRKL9:99U>0!_(SN>6XWTE:1FZM&PW4O56W*6.BV]U
MGU]@:*%%CBI,-LS;F+I8HT4(L<=/0TR(J@   "U@!^/?NJU/3S_<C9?_ #R&
MU_\ SP8K_KU[]UJIZ]_<C9?_ #R&U_\ SP8K_KU[]UZIZ]_<C9?_ #R&U_\
MSP8K_KU[]UZIZ]_<C9?_ #R&U_\ SP8K_KU[]UZIZRQ;.VC!+'/!M7;D,T3I
M)%-%@\9'+%(C:T>.1(@5((!!!N#[]U[I1^_=>Z][]U[K0._X5Z?\S_Z _P#$
M28;_ -^%N3WX]*8>'6GU[UT]UBG_ ,Q-_P LI/\ H0^_=>Z^B_\ \)/?^R&.
MRO\ Q,%'_P"^NV_[WTEF^+K:<]^Z:Z3&\]Y;;Z^VKN#>F[\OC\%MS;.'RF=S
M&4RF0H,91TN.P^/ER==-+6Y.6&! D,,CEI944 $LRJ"1[KP%<=?-@_GS?S@=
MT?-SN#-=$=/[LR&.^._7&<K<343;<SN1I,;OW-;:S^6I*'.I)M?<V6P>4HZO
M&URQM5-1Q22J-*A8A9O'I5'&!D]:YZA8U5(P$1 %1% 554< *J\#_8>]=.]>
M)M<DV Y)/X_J2??NO=6N_P I/^65V5_,8^0FW<7!A,MC^DMFYO'YGL#=]5C<
M_28&OAV]GL169K:5/GTP&<Q$M368RN=X:"M5!* 3(RQ EMBGGTW(X44Z^IET
M!T)UG\:>JMG=/=3[:Q6V]I;-P.)P5''CL-M_#U&1CP^/CQE/D,NFVZ.@IIJI
MHHD5Y5I4N  %4  >Z2DDFIZ&?W[K77O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W
M[KW7O?NO=>]^Z]U0I_PH-^<Z_$#X4;EPNV,\,?V-VQ.=@4=)3904F4CVUOS:
M.X<#59.F@Q^7QE<%CJ($ F5)HE8"\<C64>Z<C74W7R^):O(Y"HJ<GEZRHR&8
MR<[UV6R-743U=97U\_JJ*JKJZHM++(YY9Y&+$_4^]=*_LZX>_=>ZE4%#7Y;(
M8W#8BAJLGF<SD:/$X?&T---6UN0RF2G6DQ]#2T=,&EEDEE98TBB1G9B%4%B!
M[]U[ X];K/\ )A_X3G[=W7M7:GR6^;>(K:F3.TN(W)L_J>MH*&;%IBZ^CQ>X
M<?%OG8G;>QY"*I)TJZ6J6EKV01,8E8L7;WOIB63R7K<>ZW^,7QUZ@Q-%A>LN
MB^G]BT5#!#!$NTNL=C;8+B")(4DE7;^/ID+:8XQ<(/TK^ +>Z8J3QZ&F&@H:
M>,14]%201+:T<--#%&+"PLB*!]./I[]UKK+]O3_\<(?^I2?\4]^Z]U[[>G_X
MX0_]2D_XI[]U[KWV]/\ \<(?^I2?\4]^Z]U[[>G_ ..$/_4I/^*>_=>ZR*B(
M+(BH/Z*H4?[8>_=>ZY>_=>Z][]U[KWOW7NO>_=>Z3F=WAM/:\1FW)NC;FW8E
M0R-+G<WC<3$L:ABSEZ^6, #2US>W!_H??NO4/025_P KOBWBIOM\I\E.@<;4
M"]X*_N/KNCF%F*G]JHR*M]01]/K[]UNA].LF-^5/Q?S,PI\1\D.A<K4,P008
MWN#KVNF+DA0@BI<BS7)90!;\C^OOW7J'TZ%W"[HVSN2(3[=W%@L_ RAUFPN7
MQ^4B9"H8,)*&20$693>_T(_K[]UKI]]^Z]U[W[KW7O?NO=>]^Z]UXFW)X Y)
M/X]^Z]UA^X@'!GAO_P M$_XK[]U[KWW%/_QWA_ZFI_Q7W[KW7ON*?_CO#_U-
M3_BOOW7NO?<4_P#QWA_ZFI_Q7W[KW7ON*?\ X[P_]34_XK[]U[K*"" 000>0
M0;@C^H(]^Z]UW[]U[KWOW7NO>_=>ZQ&> $@S1 C@@R("/]<7]^Z]UU]Q3_\
M'>'_ *FI_P 5]^Z]U[[BG_X[P_\ 4U/^*^_=>Z]]Q3_\=X?^IJ?\5]^Z]U[[
MBG_X[P_]34_XK[]U[KL3P,0!-$2?H!(A)_' !]^Z]UE]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7%F5%9W941%+,S$*JJHNS,QX  Y)/OW7N
M@XW#W+U!M%G7=?:O6VV&B+"1=P[YVQA6C*E@P<9*JBM;2U[_ -#_ $/OW6Z$
M\.@_;Y?_ !+1VC?Y1?'99$8HR-W9UJKJP^JLIR=P?\#[]UZA].E;@?D!T-NE
MHTVQW;U'N-Y0IB3 ]D[-R[2ABH4QKCZV0M?4MK?U']1[]UZA''H5::JIJR&.
MHI*B"JIY55XIZ:6.>&1&&I6CEB)4@CD$'W[K76?W[KW7O?NO=>]^Z]U[W[KW
M7%G1!=W5!]+LP4?[<^_=>ZQ_<4__ !WA_P"IJ?\ %??NO=>^XI_^.\/_ %-3
M_BOOW7NO?<4__'>'_J:G_%??NO=>^XI_^.\/_4U/^*^_=>Z[6:)SICEB=K$Z
M5=6-OZV!]^Z]UE]^Z]U[W[KW7O?NO==$A022 !R238#_ %R??NO=8ON*?_CO
M#_U-3_BOOW7NO?<4_P#QWA_ZFI_Q7W[KW7ON*?\ X[P_]34_XK[]U[KWW%/_
M ,=X?^IJ?\5]^Z]U[[BG_P".\/\ U-3_ (K[]U[KWW%/P//#<FP'E3DGZ <^
M_=>ZS>_=>Z][]U[KWOW7NO>_=>Z\2 "2; <DG@ #ZDGW[KW6'[BG_P".\/\
MU-3_ (K[]U[JMW^;5-"WP(^0VF:$_P#&->QA_G$//^C#.<"Q^O\ A[]U=/BZ
M^19%]&_X.?\ >A[UTLZR^_=>ZV^/^$BSHG>G<I=XT_W&;^M=@IM]OM?GGWX=
M,S'MZW^/N*?_ ([P_P#4U/\ BOO?2;KWW%/_ ,=X?^IJ?\5]^Z]US21).4='
M X)1@UO]M[]U[K!745%D:.JH,E24M?CZVGGI:VBKH(:JCJZ2HB,-3355-.&2
M2.1&9'1U*LI(((/OW7N@6?XX?&F21Y9.ANC))9&+RR/U=L%I)'/+,[M0W)/Y
M)]^ZW4^O7'_9;?C-_P ^#Z*_]%9L#_Z@]^Z]4^O3O@>B^A-LY2',[7Z<ZAV_
MFZ=0M/E<#U[LS%92%1*LP$-=CJ..90)$1_2WZE!^H'OW6JGH7O?NO=>]^Z]U
M[W[KW7O?NO=>]^Z]TCMP]B=?[2#MNO?.SMLK'<R-N'<V%PHC"ZM1<Y*>*UM+
M7O\ T/\ 0^_=>Z"RI^6_Q2HY6@J_DW\>Z6=;AH:GNCKB"52#I(:.7) BQX^G
MOW6Z'TZ=,1\F_C;N"18<#\@^C\W*[K&D6([8V'DI'D8@*BI1U[DDEE  'Y']
M1[]UZA].A?QF8Q&;IQ5X;*X[+TAM:JQE=35].=2AUM-2LZ\@@CGZ$'W[K73C
M[]U[KWOW7NO>_=>Z][]U[KHD*+L0 /J20 /]B??NO=8ON*?_ ([P_P#4U/\
MBOOW7NO?<4__ !WA_P"IJ?\ %??NO=>^XI_^.\/_ %-3_BOOW7NO?<4__'>'
M_J:G_%??NO=>^XI_^.\/_4U/^*^_=>ZY++$YLDL;FU[*ZL;?UL#[]U[K)[]U
M[KWOW7NO>_=>Z][]U[KWOW7NO__4W^/?NO=?(C_F\22/_-!^>FN21_'\I>X4
MCUNS>.,;PJ2(TO\ 11_0>]=+4^ =5S>_=6ZP5"AX9(R;"16C8WM97&DD'_"_
MOW7NOJ:?\)Z]D;?V;_+>Z<FP4%-#)NC:FP]Q9F2"*BC>JRM5U]C(9JBJ>CBB
M+R%46[REW/Y8\>]](Y/C/5Y'OW5.O>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW
M7NO>_=>Z][]U[KWOW7NB>?/OMZBZ1^'_ ,@]]556**HINHNSZ/#U'GBIF3./
MUUE:S&&.62II&#"2 %?%,).+H+\CW5D%6'7Q\]];PR/8N_=[]AYBKEK<IOC<
M^4W/7U4\\]3)-596<U,SF:JEGD:[$F[SR$_ES]?>NEO 4Z3'OW7NN0CEG*4U
M,AEK*N1*.BA56=YJNH/BIHHXX[NS,Y "H"Q^@!/OW7NOI<?\)O?@?AOC/\-]
MN]QY_;E'%V1WO08+L2/-UF(I4SN/P6[=CX=JS!PY*MP]!7Q4YJ:3R-3"JJ(R
MWJ:5V^F^DLK5:GIUL>>_=-=>]^Z]U[W[KW7O?NO=>]^Z]U15_/X^#>WOES\*
M-ZY^DV]1U78?4=%7]A8S/4^)H9\]'@=@;-W#N"3"Q92+$9*N%-)4SJ[TT;PQ
MLUF,D;V8^Z<C;2W7RW?!5TCR4>0B>GR%&YIJZGE26*6"JCXEBEBG =6!X*N
M1^1[UTK^?7?OW7NE#M#<-9M#>NQ=Y8ZHFI:[9V]=K;JIIJ:66"5)MO9B++0L
MLD#Q."'B!NLJ&XX=3R/=>.13KZ\W\LWN>+OCX,_&?L)Z]LAELOT[U_59^:2J
M6KJ!F*W;%-7U0J9#55DNO]P$^>=G_J3]3OI$WQ'H]_OW5>OGJ_\ "N<_\Y?]
M!#C_ )D-2\_G_F:&XO?O+I5#\/6IG[UT[U'K"5I*IE)#+33D$&Q!$1(((]ZZ
MWUL?8C^7'3_)'^31A?DEU=M59.V>J,ILY]QS8;!H]9D-A[>ZBJ=[;JKZR3;N
M#KLE+(TKQ!I9ZZ&G/'FTFTGO8Z:+:9*'K7'0RV*SQ2T]3&=%133QM#44TP_7
M#/"_J1U/!5N1[]TYUYU9E]#M'(OJAFC8I+#,O,<T4@Y5U/*L.0>1[]U[K?>_
MX2^?S*_](G7]?\,>V=V!]W;#IGDZVDW#G=4DG7^T=O8#;5#CZ1]RYZ>J+R5E
M3)XXJ#%1TS&^G0]U.QTGF6AJ.MQKW[ICKWOW7NM=7_A3Q_V[6JO_ !,.T_\
MWB-S>_=.1?'U\RNC_P" M/\ \LD_WKWKI7U(]^Z]ULO?\)4O^WC>?_\ $$=D
M?^]3M;W[IJ7X>OI,>]])>J\OYJ'>4?Q_^#/?V\34K25.6ZX[#V?C9S,L$D>4
MSO6V::A:GE^[HF$H> %#'*7N/2C'Z>ZL@JPZ^1%DL[6[IR^7W5DIYZG)[ER-
M3F\C55,DLU34UE<WEFFGGJ'DD=F)N6>1F/Y8^]=+>HGOW7NLM-25.2JZ#$4,
M;2Y#-5])A\=%&DDDLV0R4PI*.&)(0SLS2,H58U9B>%4GCW[KW7U$O^$_WP;V
M[\3O@]UWNRLV]BX.Q.Z]N[5[,W#EI\30Q;AH:G<6R,72Y/#R5\N(QM=%&9J0
M/)3SR3G5R\K-P-]))&J>KWO?NF^O>_=>Z][]U[KWOW7NO>_=>ZUR?^%'OP/P
M?R<^'N4[7P&W8I^TNH)8MQC.4>(HY<HFP]F[:W'NO+XYLE18>OR(@>HD1WA^
MYAIR;%V1K.?>6.G(VTMU\SJ!I6B3SQM%.%431.K(\<EO4C(_((/X//O72OK+
M[]U[I>]3;QR'7?;O4N_L952T55L[L[8.YFJ()YZ:1(,!NFES$G[U/+ P%X0?
M\\@X_6OZAX=>.13K["?PC[47NSXE?'KM,URY"IWQU-LG<M;4?<BKD:JS&#BK
MI//*:BK8N==SKJ)#_5F^OO?2%A1B.C3>_=:Z][]U[ICW#N3;^U,9/FMS9W#[
M>Q%*KM49+.9.BQ-!$(XFG?769"2.)3H1V]3C@$_0'V];6UQ=R^#;(TCG@JJ6
M/&G  GSZ+=UW?:MCLVW'>;F*T@2I:2:1(D% 6R[LJC )R> )X#H@G9G\T7XI
M]:UU3C6W//O6HIS+&9M@9KKC<E*98W>*QD.X(&Y*7_2#9E/Y]C_;/:[FK<T$
MGAB 'RE69#Y?\*/K_AZQCYQ^^7[*\H3O;&[;<66N;&6PN%J"PX_6H?*O#@1Z
M]!%@OYR_Q?R=:*6NQ'8V.CDF6%*FKQ_7M'3H'=466::;=# (+DLP' !/X]G%
MQ[,\T1)JC>%L5H&E)_+]#CT MJ^__P"SM]<B"XMMPB!- S1V2J*D"I)W$XS4
MGT'1\>I?E'T7W91PS[#[)V;7U\PC/]WSO#9]5N*+7'&Y6;%8;(5;J5,T:,+\
M,0/R+@+=N5M]V-R+^VD51^/PY GGP9D4>1/V=9-<C^\WMM[APJ_+6[VLLK4_
M0^JM6G%0IH8HIY"""P!]&-/3HP0^@_UO8?ZE'KOW[KW7O?NO=>]^Z]U[W[KW
M6B/_ ,*_?^/^^/W_ (8VU_\ WM=S>]'I3#PZTP??NGNNC]#_ *Q_WKW[KW6[
M+_PD._S/>W_AX;J_]YC;'OWGTQ-UO)>]])^O>_=>Z][]U[KWOW7NB&_S,.]*
M3X]_"CO[?-14BDJ:SK'L;;.'J!-%!)%G,KUQF)\6\$KUE$RR"2G!4Q3&0$71
M2?I[JR"K =?(2W'N?([XW/N3?&7J9ZS*[QS5;N+)5=3-/43U%9DI///-+/52
M32.6)N6DF=C^6/O72WATT>_=>Z<,3B:S<>;V]M?&QO)D]TY_$;9QT<*2O,U?
MG:U,;1Z5@5Y"3)(MO'&[7_2C'@^Z]PSU]5?^2)\)=H_#WX/=3?;[?Q]-V!V;
ML_9^_=]Y1\5C(<T-QY39N/Q^7II:U,3C*W2STBLZ5GEE+"[R$V WTCD;4W5Q
M_OW5.O>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[K0._X5Z?\
M,_\ H#_Q$F&_]^%N3WX]*8>'6GU[UT]UBG_S$W_+*3_H0^_=>Z^B_P#\)/?^
MR&.RO_$P4?\ [Z[;_O?26;XNMI6JJJ:AIJBMK:B"CHZ.":JJZNJFCIZ:EIJ>
M,RSU%1/*0B1H@+.[$  $D@#W[IKK1D_X46_SJ9LK79;X3?%G>,B4M+-5T';N
M^=J[@97-=CZW.;,W1LV+<W76ZF7[2JI)Z>9L=D\2&DX:8!-*'U:=*(H_Q'K2
MI52+EWDFE8ZIJB9O)45$A_5-42GEW/Y8\GWKI_KE[]U[HT_PS^(G:_S;[YV9
MTEU5MS,Y;^+9G#MN_.4&'W)7XW;FTGW'08;<F0J\GMS&9;[.2EAKDG,M52&&
M-?7+Z;*W@.JLVD5Z^JU_+S^!'5/P!^/^T.H]AX/"KN&DPN%_OSNRDQFVUR>Y
M]T46!I<+D\O5YW#8;#3UK5 I(V>HK*832$ O:P4;Z2,VHUZ/K[]U7KWOW7NO
M>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KYP__"IKY+5/:GS)
MVET[C\E(^ ZUV;58O+8RGK)&HQN3;/8N=IEJ:JB@KZB'SK%.%UR4L4H'%D'!
M\3TJA&*]:P1_WU_>NG>NO?NO=7J?\)]/@Y2?,?YO8/-[LQ:9#KOJ*FDWI4??
MT,57B*C>&Q-W;>SV/QU3_$L1E*%S)!4.#"SPSLI.EXU)8['3<K47KZBN-QN.
MPU!1XK$8^BQ6+Q]/%24&-QM+!0T%#20+HAIJ.CI56.*-% "HB@ < >_=).IO
MOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[HH?RW^<OQM^
M%.Q:_>W>O9>TMMO3T<]7CMIU&\MA8?>>?T45754\> P.\,OBC5-.]%-30B.4
M:YK1@WU%?=6"D]:6GS>_X58=T;\R.XME_#[8^'VCM#[ROI*'=_8>V=UX#>34
M>NKI(*O&[@ZO[$FI2Q@EIY4D2+3YD+ :54'U>GUA'GUKX]I_S,?Y@7<E;5U>
M\/EQ\AL;'5RRR-B]J]]]UT>'BCE>1S2T]%E,]5!81Y74)<C38?UOJO3FA?3H
MM=?WGW_E)ON,I\@^]<E4&]YZ_M?>M9,;L6-Y:BK9N22?K]??NMT'IUDQW?'R
M#P\HJ,1\A^^<54!@XGQO;6]J&97!#!Q+2UBL""JD&_X']/?NO4'IT:;J3^:1
M_,*Z5K:*LVG\LN^<[#13P2C$[W[W[NR>&J$IWB<4U308W<-('B<0JCI<75G'
M%Q;W6M"'B.MB[X*?\*M=_8#*;?V'\T-B8_*8&63'8Q][]:[7S5=DX2\U%CAD
M=P[E[6[%2%8U'WE153&'@!'M^L>_=--%YKUN=_&;Y>?'WY=;%Q6_^BNR]G;U
MQN1H:2LJ<5A-Y;)W'G\!)54,.1.-W%0[.R>2CI:J&.HA,\+3$IJ7DAE)WTP0
M0:'HRWOW6NO>_=>Z"GO?+9' ]']RYS#U<]!E\-U3V)EL774L\]+4T61QVT*R
MLH:NGJ:5DECDCE1722-U92 5((!]^ZV,D=?*\[I_FS_S(L+W=W)@\5\M>]:+
M$X7L?<N-Q=#3=\]\4U-14-+6F."FIZ:FW(D4:*.%2-%4?@#WKI6(TIPZ#G_A
MWC^9A_WE]WW_ .C_ ._O_LE]^KU[PT].O?\ #O'\S#_O+[OO_P!'_P!_?_9+
M[]7KWAIZ=>_X=X_F8?\ >7W??_H_^_O_ +)??J]>\-/3KW_#O/\ ,PX/^S?=
M]\<_\S_[^_\ LE]^KU[PT].AFZQ_GO\ \SOK+(TF0'>>;W_%22PR-0=E]F_(
M+=5!/'%+%(T4]*-X4X;4(])74 0[C^UQZO6C&IZV<_Y7W_"G?!=];VVIT?\
M,+;>!Z^WGGI<7@<!O/:V'H]I[&R&7R%;C<!C:?);B[0W_65<M3/6551)HAI&
M=X4#*I=64[Z:>*F1UM]8_(4&6H:7)XJNH\GC:^".JH<ACZF&MH:RFF77%44M
M73,T<D; W5T8@CD'W[IGIDWO55%#LS=U;22O!5T>V,_54L\;O%)#44^*EEAE
MCDB(965@"&4@@\@@^_=>'7R[/G%_-0_F'['^8_R7V9M'Y4]VX+:^V>X]^8;
M8;&=X]X8S'XS%T&>EIZ.BH\=C-PPT\,<: *L<,2(HX50/?CQZ5JBE0:=%:_X
M=X_F8?\ >7W??_H_^_O_ +)?>J];\-/3KW_#O'\S#_O+[OO_ -'_ -_?_9+[
M]7KWAIZ=>_X=X_F8?]Y?=]_^C_[^_P#LE]^KU[PT].O?\.\?S,/^\ON^_P#T
M?_?W_P!DOOU>O>&GIUDB_F^_S,894E7Y>=\.T;JX63O[O]D8HP8*X&YA<&W(
MO[]7KWAIZ=&CZ<_X4._S-.IJ^CGK>P,-V;1T\T$E3!V=NOY ;SDFACDA,J".
M7>U,K,RQ$ ,0"7>_#<>ZT8E/6PO\)?\ A5[UGOK+879?R\V!7[%RU>]%C?[W
M;'VKM_;.Q:2KJ9:.@%9F,_V=V--)' DLM3--)XB1 FNQ*L#L?/ILPD9'6V)T
MOWQU#\A=E8KL#IOL39?8>V<K24E4E?L[=NV-VPT;5M''7Q4>0JMK5E;3QSB*
M6-VC$Q]+*02""?=,D$8/0N^_=:Z][]U[KWOW7NL-1404D$]553PTU+30R5%3
M4U$B0P4\$*&2:>>:0A41%!9F8@  DFWOW7NJ*/YCG\_#XB?!:FRFT\'N2A[D
M[?AAK((-M=:YCK'L.EP66B^_H$HMXX:DWCB,I2F"LI(A5QB/6D<B_P!MP![I
MQ8V;K39^57_"CO\ F%?(C*UZ;'W'BND=J5$E0E O6N8[NZUW*M%+-4& 5RXC
M?-;3"413@2:+KJC0#A>==/K$H&>JF]X_,KYC]@5U3D-W_+;Y-9B6KDDDFIJO
MOGM+(4*M*[.ZQ0Y/*3$+=V !8\$_U/OW5PJC@.@R;N/N]W:1^]>Z6D=B[.W9
MV[F=F/U9F-5<G_$^_=>H/3I8;=^4GRKVC/3U&U_E/\DL!)2M&\(P_>'8^+0>
M)E=(R,?D(CHNB@@$< ?T'OW7BJGB.K&OCA_/E_F1_';,8NI;N#+]P8.@FI?/
MB>Z.P.^.P(I:&":G:6*&@.\*&%G,=.556(4F1P>'X]7JIC0];;O\N;_A3-\=
MOD[6X?KCY'4T'27:&1J*&@CS>6AV-UMU?6UM0U!CO!09+?>_<AD9'EK*J4TZ
MB LT4;<%T(.^F7BH*CK9UP6X<#NC$X_/[8S6)W'@<M2P5V*SF!R-'E\/DJ*I
MC$M-64&2Q[R0S12*0R21N58$$$CW[IGIX]^Z]U[W[KW6N%_PI1^2'>?QJ^'V
MV]X]#]D;OZTW/4]I['Q<^8V=O#>&S:^7'5V)W%-5TCY#9M=05#)(U/ 6C,I5
MBBE@2JV]Y=/1*I/=UHM1_P WK^9BR(3\O^^[E1?_ (S_ -_?_9-[U7I[PT].
MN?\ P[Q_,P_[R^[[_P#1_P#?W_V2^_5Z]X:>G7O^'>/YF'_>7W??_H_^_O\
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
M\IMC=6#V#OO(8C-8;*Y7"Y&AK:#KW,9&CJ*;)86:GJ8FCGABD5XI5964,I#
M$;'5E^+KYB<?\WK^9BP8GY?]]\,1_P S_P"_O_LF]UZ5>&GIUD_X=X_F8?\
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
M5@OC1QI"K.?&NYIY':20C5H"G@:-QM@]Q/UFYU[W[KW7O?NO=>]^Z]UHC_\
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
M]UPDKJ+QR?Y92_H;_E(B_P!3_K^_=>Z^A+_PD6FAF^'/>IAEBE [[D!,<BN
M?]%^W#8E2?>^DDOQ=;)'S-_[)'^3W_BOO<__ +[;)^_=4'$=?' WG_Q_6]__
M  Y\I_UO/O72X<.D][]U[JVC^1A_V\RZD_[5./\ _?G;>]^ZJ_P]?6.][Z1=
M>]^Z]U1)_.G_ )P.Q_Y=O4=?M79>2PVX?D)O?&3T&VMNPUF(RU3@J+.8_,X2
M+<=;B,5N;"9NE-#DJ.'764\<BPWX#2E57W3B(6/7S1>^OD'W-\H>Q,[VGWGO
MO<V^-SY_)5V4^USNZ-U;EPVW_P"(5\F3?%[9@WA6Y"HI*.*::5H(/N&TZF-R
MQ).JUZ5!0N!T#XX^G%A86XX_I[]UOKBS*@+.P51R68@ ?DDD^_=>ZC??47_*
MY2_^=$7_ !7W[KW7-*NED;3'4T[L?HJ31LQ_'T!]^Z]U(]^Z]UPDC24 2*KZ
M6#+J ;2Z_I==5[$?@^_=>ZN<_E0?SA._/Y>W:VUL#F-X;BWM\>MP9O$8C<VS
M]T;@WGN3';4QF4RN)Q==E-L[?JMSX7!T*T&+HYA33U",D!9M2F)F"^Z;>/5U
M]/'X]_(#K+Y.=3;,[DZGW'C-P[2WI@,1GJ0T.7V_EJS&)F<='DZ?'9H[:K:^
MF@JUBE1I(5JGM<$,P()WTE(H:=#7[]UKJMO^;9_V0/\ (7_Q&O8W_OL<Y[V.
MK)\77R*(OHW_  <_[T/=>EO67W[KW7195_40/]<@?[W[]U[KCY(_^.B?\E+[
M]U[KOR(> Z'_ )"'OW6^N=[?3W[K77KW^OOW7NL;QK(48W62)TE@F2PFIYHS
MJBGIY#RDB'U(PY!Y'OW7NMNG_A-O_-GWIU]VM1_#/OC?&7S_ %_N2E8]:Y7=
M>Y<ME:K"9)JG;VQMH;,Q-=O+<D-%34S%YY$QU!BV<L2T/U:/WOIB5!2HZ^@>
M"" 000>01R#_ *Q]^Z3]=^_=>Z__UM_CW[KW7S]_^%67PTR.R.Y]B?*W:V#K
M9=K;EPM'MO=N1I\;$*5-X;JWGN'<$IJ*RBHH4U?;P*Q\]2\MN3J%B/'I1"V-
M/6HB"& ((((N".00?R/>NG^O>_=>Z>MN;FW3LO.4.Y]D[JW+LK<N-E@FH-Q;
M1SF1VYG*5Z>I2LB%/EL3)%4(!+'')Z)!ZE5A8J"/=>ZLYZP_G8?S+.J\928?
M&_(W?^[Z&@I8Z2E_T@]M=^;@G6"&)(8[F#=M,@:R7]* 79K#GWZO5=">G0LG
M_A0?_,Z)/_&3\;_Z&'R"_P#LV]^QU[PTZ]_T$'?S._\ GY^-_P#0P^07_P!F
MWOV.M>''U[_H(._F=_\ /S\;_P"AA\@O_LV]^QU[PX^O?]!!W\SO_GY^-_\
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
M]^Z]QZ^5'_.@_F ;Q^=GS"[ F_CU?-U'UAN;<FRM@8.',YFJP-?A\3N[(9/
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
M>NC_ "%_Y9Q!!^/'7MB"#_QB7H'Z'_R3_?J=>\1_7H]OQ9^'/07PUVIFMD=
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
M5W\E:G?7R5ZVZ$Q.3D_N]M39,&1S>,CJG,+;HVWO_<&,$\E/!4-'J$,P6\D
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
MU\]7_A7/_P!E?]!#_OPU+_K_ /,T-Q>_>72J'X>M3/WKIWK%4"\$X_K#(/\
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
MIUU_PYC\^?\ O)SMS_T:_:O_ ->O?JGKVA?3KW_#F/SY_P"\G.W/_1K]J_\
MUZ]^J>O:%].DMO7Y\_,KLC;=?L[???O9.Y=L92.:'(8C+=B]BY2BJHJBEDH9
MXYJ/*96:%PT,LB$/&00Q!X)!]U[0O11U4* J@  6    M_@/?NK==^_=>ZVE
M_P#A)O\ ]ES[Y_\ $2=C_P#NXVM[\.F9OAZ^B_[WTFZ][]U[JMO^;9_V0/\
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
MCCD>GW[KU!6O1>*>%*>"*!+Z(8UC6_ULHL+^_=;ZR^_=:ZV7O^$J?_;QO/\
M_B".Q_\ WJ=K>_=-2\.OI,>]])>B8_S".G:+O+X<_(/8U53+5U#]2]G9+$0&
M)9BV;I^N<M28SQQM#,2WDGL-":N>"#[]UL8(Z^/QO+:>0V!O;>6P<M!)3939
M.X\EMG(4\D<D3PU>+G-/-&T4JHRD$6LR*?\  >]=+@:])[W[KW7:S3TTL%92
MNT=903PUM#*I96AK*1_-32HR$,"K@$%2"/P0??NO=?30_P"$YOSKP?R<^&.U
M.J<SN"BD[&Z,Q>W^N9L-45\#YFOQFU=CX@UV:2E>KJ:AX145?C:5UC]7!0'Z
M[Z22+I:O6Q+[]TWU[W[KW7O?NO=>]^Z]U[W[KW6L)_PIA^?&$^/WQ;_V7_:^
M<1.T>V*BBCJ<;25\"UJ[!W'AMR;-SL\E'3UE/5:%G5%9_&\0-@P8\>_>73L2
MDG5U\WZGC,,$4;,SNJ*KR,2SNP'+,S<D_P")]ZZ5=9O?NO="=TEL3(=G=W=,
M]>8RF>LJ=X=J]=[?DIXHI)G:DSF[J3#S$QQHY(_? /H8<_0_0^Z\313U]A?X
M?]5CI+XO]$=4&D6BFV#U?L_:U1 (? R38;#Q4+B2/QPD$:+&\:G_  'O?2%C
M4UZ,C[]UKKUO?OGU[H'^W.C.L>[L%4;?["VMB<O%-$\,61DQ6'J,Q1H\,T"_
M8Y#)4U0T14SR.FD</ZAS>YOM.^[GL<XGV^5DIY:F"G(X@,*\ /LZ O/7MMR?
M[B[8VV\T6<<ZL"!(8XFE2H8=CR1N5IK)%.#9ZIV[3_DF;2R^4K:WJ[>,N%@J
M)YIHZ7=.<J)EB5Y9'2..+$8C2H ,8 ''!_P]S#M7O7=0Q*FZ0ZR !5% ]/XI
M/MZP(YT_N\-DOKN2XY+OOIU=B0+F5FI4M@"*UH!33C[>@EPW\CK>'WL;9WLG
M:;X]9T$Z4&2W##5/ )%,GA>?$E=174 3Q>WLWF]\++01!;2:J8J$I7\I/7H#
M;;_=R<P"X!W+=K1H@PJ$><,5J*TU6U*TK3YTZL?^.G\LCH#HF>FS=1C9]X;D
M@,4GFW*V$W%C8:A/MY?-1Q5^+BD1EE@#1L&NMV_)]QQS%[G<P;XI@5O!B/\
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
M-E+LL85CKFVQJY///OU.FO%?IT_Z!B?Y:W_*GV__ .A7LC_[&??NO>*_7O\
MH&)_EK?\J?;_ /Z%>R/_ +&??NO>*_1./GU_PGR^ _Q_^*7;W:VPZ7LU-U;0
MV;O#.8A\IN/:-31BKPNR,IFZ,3Q4FWZ>1E\]+%J"RJ2+@$&Q&NK)(Q;/7S]4
M8L"3;AB./\/?NE/7/W[KW6TO_P )-_\ LN??/_B).Q__ '<;6]^Z9FX=?1?]
M[Z3=>]^Z]U6W_-L_[('^0O\ XC7L;_WV.<]['5D^+KY%$7T;_@Y_WH>Z]+>L
MOOW7NMO?_A(K)&O?/<<)=1,V*W_*L1(UM'X-K R!?Z7XO[\.FI_A'6__ .]]
M)>O>_=>Z][]U[HM/S-_[)'^3W_BOO<__ +[;)^_=;'$=?' WG_Q_6]__  Y\
MI_UO/O72X<.D][]U[JVC^1A_V\RZD_[5./\ _?G;>]^ZJ_P]?6.][Z1=:-O_
M  KRZNK)*[H_N"FH9GI:#"[2V/45BPL8HYLANC<V8,;3+'8'2-5C+>W]G\^_
M=/PG-.M)S_8W_P ?Z_X^]=*.L-1'Y8)HO^.D4D?_ "6A7_B??NM]?0W_ .$I
M/R+P6]/B9O?I:KR$/]Z=B;YBH<?CFJ8/N#@-O=>X"AEJ$I3,\I032Z2XC50>
M+ _7?268=U>ML3W[IGKWOW7NO>_=>ZBUU;38VAK,C6S1T]'04M16U=1*ZQQ0
M4U+"9YYI7;A55%+,3P /?NO=?*<_GP=[T'>_\Q[N"?#9"/)8;K7<>_.O*:II
MZB.IIY1C^P,C7PR0/#-*F@K."/T'_:1^='I7$*+U3O[]TYTYX+&2YK<VTL#
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
MEC8<HN,K)M"*94BGC9B@MR+>]])""IH>C%>_=:ZZ)M<G@ 7)_''OW7NM<_\
MGD_SANLOA[TUO7I#K_<&/W!WIV#M[.[0EPV/J8&K]N8O<V&S>TLCDJBEJU0@
MT=9%"6DBDU D!>>??NG(TU&O7S3,UF\ON?.9G=&X:R3(9_<>2JLSF:V5Y'>J
MR-;)Y:F=FE9F]3$GEB?\?>NE8P.FWW[KW5D'\I?XP9WY7_.SIC96*QLU?B]F
M;GVCVAN!XXC+&F*V5V+A),K')I-Q^S47)(( ^H/OPZJYTKGKZW6V=OX[:FWL
M-MK$PBGQF#QU+C*"!;!8J6DB$4,8"@#@ #@>]](CQZKW_FV?]D#_ "%_\1KV
M-_[['.>]CJR?%U\BB+Z-_P '/^]#W7I;UE]^Z]UM\_\ "13_ )GKW+_VK=__
M /N/M;WX=-S_  CK?]][Z2=>]^Z]U[W[KW6B/_PK]_X_[X_?^&-M?_WM=S>]
M'I3#PZTP??NGNO>_=>Z^O!_*)_[=?? G_P 58Z=_]X^F][Z1/\9ZL6]^ZKU_
M_]3?X]^Z]UKP?\*:\CD\9_+<JJG$Y;*X:K_TO;43[S$9"KQE7XSLK<S&/[FC
M='TD@$B]K@'\>_=.Q?%3KYH='O?L#[6G_P",C=A?YI/^8UW%_3_J(]ZZ54'4
MG^^_8'_/Q>PO_0TW%_\ 5'OW7J#KW]]^P/\ GXO87_H:;B_^J/?NO4'7O[[]
M@?\ /Q>PO_0TW%_]4>_=>H.O?WW[ _Y^+V%_Z&FXO_JCW[KU!U[^^_8'_/Q>
MPO\ T--Q?_5'OW7J#KW]]^P/^?B]A?\ H:;B_P#JCW[KU!U#JMS;OKA:NWMO
M6M4BQ6KW5FZE2#>ZD33-QR>/\??NO4'3,07;R2N\\OYFG=IIF-[DM+)=CSSR
M??NO=<O?NM]>]^ZUU8;_ "MOAQO+YL_,;JO8.VL155^W=H;KVOO[>E=%"TU-
M!@]H[ZPYS]#,8F#*32U>HDJ5 ^H/OPZJ[ +GKZV/6NQ,/UAU_L[KO;\2P839
M>WL9MS%0K;3'0XJE6EIT%@OT51^![WTB.>EO[]U[JNS^9S\%MG?/;XN[WZGS
MF/@DW+28[*;CV1D5CTUD.[L3M7*T>V8!/"AE:+[NN#M & 8_D'GW[JR-I->O
ME(?)3XY=D_$WN?>71G:V&K<+N/:.<S.)I)ZV TR9W'X7*2X=LS0PL[N(9)H9
M%7R'5<&_O72Q6#"HZ P\$C^A]^ZWUZ_OW7NG? ;CW+M+)P9G:>X\]MC*4TT=
M1%6;?S&0PTQEBE6=#++C9(V8%T0L">=(_H/?NO4!ZLJZ6_G*?S"NBJ.DQFT.
MWJ3)4%&D,<:[NQ^1W14F"".*(*T^2K"2=,2\G\DG\GW[JIC4]'&B_P"%+/\
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
MR]X__5GOU3U[2OIU[_2[W)_S^;M[_P!&7O'_ .K/?JGKVE?3K%/V[W)X)O\
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
MCS?0WR2[PZBS]#+CZS8W96[=NP4\Z>.1J;#963'^0*23;4A'//'O72U2",=
M3[]UOJ125=7CZNDR&/JZF@R&/J8*VAK:.>6EJJ2LI)1/35$%1 5=61PKJ58$
M$ @W]^Z]U='\5/Y^?S\^*6VL;LW";QPN[]L8BFIJ.@AW+MU=R9=*6CI:>C@C
MFR>;JF9F\<'J-N68M]2??J]-F)3T=MO^%8'SN5&/]W=HDJI/_'A;9Y(%_P#C
MM[W7JO@CK:@_D3_S(.X?YDG0/979W<=#C:#-;1[.;9^/CQF&H,-$V.&S,3N
M,\&/=U8^6ME&HF]K#Z >_=-2)H..K.OF;_V2/\GO_%?>Y_\ WVV3]^ZH.(Z^
M.!O/_C^M[_\ ASY3_K>?>NEPX=)[W[KW5M'\C#_MYEU)_P!JG'_^_.V][]U5
M_AZ^L=[WTBZ:\YAL?N+"Y?;^7ITJ\5G,97X?)TLBHR5&/R=*]%60.L@((>-V
M4@@CGZ'W[KW7S2/^% G\K'=GP^^0NY^_^O\  5-9T9VWN/*;DK:R@II!C]K[
MCW9N;+5=%@99YBB(T5!0B7QP1:-/(_I[\1Y]*XW#"G6NFK)(JO&0R.-2,/HR
MGZ$>]=.=<OJ"I (86-Q_46]^Z]T;?XP?.CY/?#S.T^:Z/['R.*@2>.>7!9NJ
MRF:V^566F9HX<))4I3IZ:2*-/1PMU'!/OW6BJM\75Y6S/^%6/SFP.*I<9N;!
M;5SDU'CEI4JZ#8VW*825,<2QQU#F:<LPU!B0>3?W[IHPBO1>OD1_PI"_F#]]
M8"OVS0YO:^R<1D*6HH9I*'9]#C<HM+54]12RF#(8BI5TD\=1Z7'(90WX'OU>
MMK$!GJBK>>]MX]B[AR&Z]^;FS6Z]PY.IJ*NKR.;RN0RL@EJIVJ9UIGR,LK1Q
MF1F<(&L"2?J3[]T[0#ATE_?NO=.&(Q.3W#F<-MK!4<V2W#N3+8[ X+&TX#5%
M=ELQ5KC\92PHQ +23R(B@D7)'OW7N'7TD/\ A/#_ "M&^&W1-+W9VCAS!W-V
MS04FXQ!6T[QUFV,%NK:^'FR&W:F*H#@215M$S$PR: ?H+\^]TITFE?4:#K96
M]^Z9ZK;_ )MG_9 _R%_\1KV-_P"^QSGO8ZLGQ=?(HB^C?\'/^]#W7I;UE]^Z
M]UM\_P#"13_F>O<O_:MW_P#^X^UO?ATW/\(ZW_?>^DG7O?NO=>]^Z]UHC_\
M"OW_ (_[X_?^&-M?_P![7<WO1Z4P\.M,'W[I[KWOW7NOKP?RB?\ MU]\"?\
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
M  KT_P"9_= ?^(DPW_OPMR>_'I3#UI]>]=/=8I_\Q-_RRD_Z$/OW7NOHO_\
M"3W_ +(8[*_\3!1_^^NV_P"]])9OBZVG/?NFNO>_=>Z][]U[JMS^9]\ M@_/
MWXV;OZXW!BJ5]Y8W%9/-[$S:0A,E3;FQ.V<K!MJB%7!&9VIS6UPD>F5U5S_0
M\^_=65BIKU\IKY'_ ![[!^*O=.^NBNSL758W<NQ]Q9O!1S5,#4ZYFDP63DQ$
MF6I(79W$3S1.!K.KCGWKI8K!A7H$??NM]=,H964WLP(-OKR+7'^/OW7NMEO_
M (3]_P W;)_$#MG&?'+N7-U-9TMV1FJ/'8&MR%:-&W-T9VNP6R]N4D=97O*Z
M4T%/%/*:6",*>2MC]=U\NFI$U"HZ^D-@<[B-SX;&;AP%?!E<)FJ*GR.*R5*6
M:FKJ&JC$M/4P,P!*NI!%Q[]TEZ=O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW
M7O?NO=>]^Z]TE]Y[,VSV#MG-;/W?AZ#.[?S^-K\5D<?D:2EK(9*;)4,F.J2D
M=6DB*_BED57TW%S[]UX&F1UI2?S8O^$T-?DLQNGOGX47%3D*G*9O.=7>'*9K
M(5M54SY+.5?\"@B^WHZ6'QI24D48%D<W'I/OU.GTF\FZTWNX.D>WOC]N3(;1
M[IZ]W!UYG,963T-12[@BIX)'FIJF2DDTI!));]R*1;$_V3[UT^"#PZ":*KII
M_P#,S(_/&D_[;W[K?6?W[KW7O?NO=>]^Z]U[W[KW7O?NO=8I_P#,3?\ +*3_
M *$/OW7NOHO_ /"3W_LACLK_ ,3!1_\ OKMO^]])9OBZVG/?NFNDCOO8VUNR
MMH[@V/O/#T6<VWN;$9/"92@K::FJ4:CR^.EQ=6\(JD=4E\,TBI(%NM^/?NO
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
M>'5]6QNM=A=:8:BP.Q-H;<VKC*&FBI(8,#A,7B0T4,2P(9OX=#$';2B@DCD
M?T'OW3=:]+CW[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]
MU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=4I_S6/Y.>P_YGV<V+FMX;KEV[)LK"8W
M#TZ1Y',T7FCQ^8R.61R,6"#=L@PNW]/];W[IQ)"@H.JC/^@1OH__ )^?5?\
MG_W=_P!&^_4'5_&/77_0(WT>?^:GU7_G_P!W?]&^_8Z]XQZN&_E6_P H/8O\
ML9-ZIL_=,NX1O'+9/*3^7(9BM\3Y+'8['NH_B@%K#'J?3_7_ !/OW3;OKZN:
M]^ZIU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]TQY_;&W-U4$N+W-@<-N#'3
MHZ2T6:QE#E*5U>-HFO3UT<B?I=A^GZ$C\GW[KW58_P @?Y,OP(^1]56Y'?'4
MZ8JOJ_/(9=E38W:,8GF>>;R,F*HQP'G8_7Z!1^![]U<2,O#JK7?W_"4SX,[B
MK*FMVS7;XPCS2R/$E3V!N*:&-'=W"^*GA XNOT_I[]U?QFI3H!:K_A([T,]1
M,U)V7714S2,88Y=Q;NDD2,MZ%=PG) ^I]ZIU[QCU@_Z!&^C_ /GY]5_Y_P#=
MW_1OO=!UOQCU[_H$;Z/_ .?GU7_G_P!W?]&^_4'7O&/7O^@1OH__ )^?5?\
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
M CW[IT3,.BS'_A(WT=<V[.JK?C_<_N[_ *-]^^WK?C'KW_0(WT?_ ,_/JO\
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
MKW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[K
MW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW20[!_X\+>_P#X:&Y?
M_=--[]UX<>OC]_S#/^R[/EG_ .)U[&_]Z2;WH\>EJ?".B>>_=6ZMI_D8?]O,
MNI/^U3C_ /WYVWO?NJO\/7UC?>^D77O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W
M[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=
M>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[
MKW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[K
MW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW
M7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U__T-_CW[KW7O?N
MO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[
MW[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO
M=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W
M[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=
M>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[
MKW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[K
MW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW
M7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^
MZ]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7
MO?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z
M]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O
M?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=)#L'_CPM[_ /AH;E_]TTWO
MW7AQZ^/W_,,_[+L^6?\ XG7L;_WI)O>CQZ6I\(Z)Y[]U;JVC^1A_V\RZD_[5
M./\ _?G;>]^ZJ_P]?6.][Z1=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW
M7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^
MZ]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7
MO?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z
M]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O
M?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]
MU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7__1W^/?NO=>]^Z]U[W[
MKW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[K
MW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]
M^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW
M7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^
MZ]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7
MO?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z
M]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O
M?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]
MU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?
MNO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U
M[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?N
MO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[
MW[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]TD.P?^/"WO\ ^&AN7_W33>_=>''K
MX_?\PS_LNSY9_P#B=>QO_>DF]Z/'I:GPCHGGOW5NK:/Y&'_;S+J3_M4X_P#]
M^=M[W[JK_#U]8[WOI%U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O
M?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]
MU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?
MNO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U
M[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?N
MO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[
MW[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO
M=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=?_]+?X]^Z]U[W[KW7O?NO=>]^
MZ]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7
MO?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z
M]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O
M?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]
MU[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?
MNO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U
M[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?N
MO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[
MW[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO
M=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W
M[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=
M>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[
MKW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7O?NO=>
M]^Z]U[W[KW7O?NO=>]^Z]U[W[KW7"3Q^.3RZ/%H;R^33X_'I]?DU<:;7O?BW
MOW7N@?R/^R^_?U?\6_T.?Q/SR???Q'^Y/W_W.K][[O[G]S7JOJU\W^OOW6\]
M0_\ G&W_ +\A_P"N'[]U[/3M@O\ 07_$X?[L_P"B;^,Z1X/X%_<_^)Z?*MO#
M_#_W;:]%M/\ :M^;>_=>ST+/OW6NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW
M7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z]
M[]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7
MNO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][
M]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7N
MO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]
MU[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO
D>_=>Z][]U[KWOW7NO>_=>Z][]U[KWOW7NO>_=>Z][]U[K__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>sotk-20240229.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 9K0po7xRiXhun8uEbXxcOaKO2cOdwpB0yYlBtG56fQkqPyImTMaoDiY+9Ye2AUMI -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:sotk="http://sono-tek.com/20240229" elementFormDefault="qualified" targetNamespace="http://sono-tek.com/20240229">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://sono-tek.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
          <link:definition>00000002 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" id="ConsolidatedStatementsOfIncome">
          <link:definition>00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" id="OnsolidatedStatementsOfStockholdersEquity">
          <link:definition>00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
          <link:definition>00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/BusinessDescription" id="BusinessDescription">
          <link:definition>995512 - Disclosure - BUSINESS DESCRIPTION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
          <link:definition>995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/RevenueRecognition" id="RevenueRecognition">
          <link:definition>995514 - Disclosure - REVENUE RECOGNITION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/Stock-basedCompensation" id="Stock-basedCompensation">
          <link:definition>995515 - Disclosure - STOCK-BASED COMPENSATION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/Inventories" id="Inventories">
          <link:definition>995516 - Disclosure - INVENTORIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" id="BuildingsEquipmentFurnishingsAndLeaseholdImprovements">
          <link:definition>995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/AccruedExpenses" id="AccruedExpenses">
          <link:definition>995518 - Disclosure - ACCRUED EXPENSES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/RevolvingLineOfCredit" id="RevolvingLineOfCredit">
          <link:definition>995519 - Disclosure - REVOLVING LINE OF CREDIT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>995520 - Disclosure - INCOME TAXES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/EarningsPerShare" id="EarningsPerShare">
          <link:definition>995521 - Disclosure - EARNINGS PER SHARE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" id="CustomerConcentrationsAndForeignSales">
          <link:definition>995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>995523 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
          <link:definition>995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
          <link:definition>995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/RevenueRecognitionTables" id="RevenueRecognitionTables">
          <link:definition>995526 - Disclosure - REVENUE RECOGNITION (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/Stock-basedCompensationTables" id="Stock-basedCompensationTables">
          <link:definition>995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/InventoriesTables" id="InventoriesTables">
          <link:definition>995528 - Disclosure - INVENTORIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" id="BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables">
          <link:definition>995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/AccruedExpensesTables" id="AccruedExpensesTables">
          <link:definition>995530 - Disclosure - ACCRUED EXPENSES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>995531 - Disclosure - INCOME TAXES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
          <link:definition>995532 - Disclosure - EARNINGS PER SHARE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" id="CustomerConcentrationsAndForeignSalesTables">
          <link:definition>995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" id="ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails">
          <link:definition>995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" id="SignificantAccountingPoliciesDetailsNarrative">
          <link:definition>995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" id="ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails">
          <link:definition>995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" id="RevenueRecognitionDetailsNarrative">
          <link:definition>995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" id="Stock-basedCompensation-SummaryOfStockOptionsDetails">
          <link:definition>995538 - Disclosure - Stock-based compensation - summary of stock options (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" id="ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails">
          <link:definition>995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" id="Stock-basedCompensationDetailsNarrative">
          <link:definition>995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" id="ScheduleOfInventoryCurrentDetails">
          <link:definition>995541 - Disclosure - Schedule of inventory, current (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/InventoriesDetailsNarrative" id="InventoriesDetailsNarrative">
          <link:definition>995542 - Disclosure - INVENTORIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" id="BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails">
          <link:definition>995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" id="BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative">
          <link:definition>995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/AccruedExpensesDetails" id="AccruedExpensesDetails">
          <link:definition>995545 - Disclosure - Accrued expenses (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" id="RevolvingLineOfCreditDetailsNarrative">
          <link:definition>995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" id="IncomeTaxes-IncomeTaxReconciliationDetails">
          <link:definition>995547 - Disclosure - Income taxes - income tax reconciliation (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" id="IncomeTaxes-CurrentAndDeferredTaxExpenseDetails">
          <link:definition>995548 - Disclosure - Income taxes - current and deferred tax expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" id="IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails">
          <link:definition>995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" id="ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails">
          <link:definition>995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" id="ScheduleOfCustomerConcentrationsAndForeignSalesDetails">
          <link:definition>995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" id="CustomerConcentrationsAndForeignSalesDetailsNarrative">
          <link:definition>995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="sotk-20240229_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="sotk-20240229_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="sotk-20240229_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="sotk-20240229_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
    <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
    <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
    <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
    <import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
    <element id="sotk_EquipmentAndFurnishingsMember" name="EquipmentAndFurnishingsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_DomesticPatentsMember" name="DomesticPatentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_ForeignPatentsMember" name="ForeignPatentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_FluxingSystemsMember" name="FluxingSystemsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_IntegratedCoatingSystemsMember" name="IntegratedCoatingSystemsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_MultiAxisCoatingSystemsMember" name="MultiAxisCoatingSystemsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_OemSystemsMember" name="OemSystemsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_OtherProductLineMember" name="OtherProductLineMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_ProductLineMember" name="ProductLineMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_TwoThousandTwentyThreeStockIncentivePlanMember" name="TwoThousandTwentyThreeStockIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_TwoThousandThirteenStockIncentivePlanMember" name="TwoThousandThirteenStockIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_NonEmployeeDirectorsStockOptionMember" name="NonEmployeeDirectorsStockOptionMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_EmployeesAndDirectorsMember" name="EmployeesAndDirectorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_LaboratoryEquipmentMember" name="LaboratoryEquipmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_TradeshowAndDemonstrationEquipmentMember" name="TradeshowAndDemonstrationEquipmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_ForeignCustomersMember" name="ForeignCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_TwoCustomersMember" name="TwoCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_FourCustomersMember" name="FourCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" name="BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_CustomerDeposits" name="CustomerDeposits" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_CashlessExerciseOfStockOptionsShares" name="CashlessExerciseOfStockOptionsShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_AccountsReceivableReserve" name="AccountsReceivableReserve" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_IncreaseDecreaseInCustomerDeposit" name="IncreaseDecreaseInCustomerDeposit" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_SaleOfMarketableSecurities" name="SaleOfMarketableSecurities" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_DisclosureRevenueRecognitionAbstract" name="DisclosureRevenueRecognitionAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_LandAndBuildingsPolicyTextBlock" name="LandAndBuildingsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_SalesRevenuePercent" name="SalesRevenuePercent" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_CashDeposits" name="CashDeposits" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" name="CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="sotk_CapitalizedRdExpensesIrcSection174" name="CapitalizedRdExpensesIrcSection174" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>sotk-20240229_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://sono-tek.com/role/Cover" xlink:href="sotk-20240229.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:href="sotk-20240229.xsd#OnsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BusinessDescription" xlink:href="sotk-20240229.xsd#BusinessDescription" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognition" xlink:href="sotk-20240229.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation" xlink:href="sotk-20240229.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Inventories" xlink:href="sotk-20240229.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpenses" xlink:href="sotk-20240229.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:href="sotk-20240229.xsd#RevolvingLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes" xlink:href="sotk-20240229.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShare" xlink:href="sotk-20240229.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSales" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:href="sotk-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionTables" xlink:href="sotk-20240229.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:href="sotk-20240229.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesTables" xlink:href="sotk-20240229.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesTables" xlink:href="sotk-20240229.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxesTables" xlink:href="sotk-20240229.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShareTables" xlink:href="sotk-20240229.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:href="sotk-20240229.xsd#ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:href="sotk-20240229.xsd#ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:href="sotk-20240229.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:href="sotk-20240229.xsd#Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:href="sotk-20240229.xsd#ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="sotk-20240229.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:href="sotk-20240229.xsd#ScheduleOfInventoryCurrentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:href="sotk-20240229.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesDetails" xlink:href="sotk-20240229.xsd#AccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:href="sotk-20240229.xsd#RevolvingLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-IncomeTaxReconciliationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:href="sotk-20240229.xsd#ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:href="sotk-20240229.xsd#ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="loc_us-gaapLand" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapLand" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:label="loc_sotkBuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_sotkBuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CustomerDeposits" xlink:label="loc_sotkCustomerDeposits" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_sotkCustomerDeposits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaapAccruedIncomeTaxesCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedIncomeTaxesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenues" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterestAndDividend" xlink:label="loc_us-gaapInvestmentIncomeInterestAndDividend" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="loc_us-gaapInvestmentIncomeInterestAndDividend" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:title="00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_AccountsReceivableReserve" xlink:label="loc_sotkAccountsReceivableReserve" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_sotkAccountsReceivableReserve" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="loc_us-gaapInventoryLIFOReservePeriodCharge" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapInventoryLIFOReservePeriodCharge" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IncreaseDecreaseInCustomerDeposit" xlink:label="loc_sotkIncreaseDecreaseInCustomerDeposit" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_sotkIncreaseDecreaseInCustomerDeposit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedTaxesPayable" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SaleOfMarketableSecurities" xlink:label="loc_sotkSaleOfMarketableSecurities" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_sotkSaleOfMarketableSecurities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BusinessDescription" xlink:title="995512 - Disclosure - BUSINESS DESCRIPTION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognition" xlink:title="995514 - Disclosure - REVENUE RECOGNITION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation" xlink:title="995515 - Disclosure - STOCK-BASED COMPENSATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:title="995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - ACCRUED EXPENSES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:title="995519 - Disclosure - REVOLVING LINE OF CREDIT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes" xlink:title="995520 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShare" xlink:title="995521 - Disclosure - EARNINGS PER SHARE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:title="995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:title="995523 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:title="995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionTables" xlink:title="995526 - Disclosure - REVENUE RECOGNITION (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:title="995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesTables" xlink:title="995528 - Disclosure - INVENTORIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:title="995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesTables" xlink:title="995530 - Disclosure - ACCRUED EXPENSES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxesTables" xlink:title="995531 - Disclosure - INCOME TAXES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShareTables" xlink:title="995532 - Disclosure - EARNINGS PER SHARE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:title="995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:title="995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:title="995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:title="995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:title="995538 - Disclosure - Stock-based compensation - summary of stock options (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:title="995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:title="995541 - Disclosure - Schedule of inventory, current (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:title="995542 - Disclosure - INVENTORIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:title="995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:title="995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesDetails" xlink:title="995545 - Disclosure - Accrued expenses (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="loc_us-gaapAccruedSalariesCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalariesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaapProductWarrantyAccrual" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapProductWarrantyAccrual" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalesCommissionCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrentAndNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalesCommissionCurrentAndNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedProfessionalFeesCurrentAndNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedProfessionalFeesCurrentAndNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrentAndNoncurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:title="995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:title="995547 - Disclosure - Income taxes - income tax reconciliation (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="loc_us-gaapIncomeTaxReconciliationTaxCreditsResearch" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationTaxCreditsResearch" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:title="995548 - Disclosure - Income taxes - current and deferred tax expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:title="995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:title="995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:title="995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:title="995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>sotk-20240229_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://sono-tek.com/role/Cover" xlink:href="sotk-20240229.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:href="sotk-20240229.xsd#OnsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BusinessDescription" xlink:href="sotk-20240229.xsd#BusinessDescription" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognition" xlink:href="sotk-20240229.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation" xlink:href="sotk-20240229.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Inventories" xlink:href="sotk-20240229.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpenses" xlink:href="sotk-20240229.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:href="sotk-20240229.xsd#RevolvingLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes" xlink:href="sotk-20240229.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShare" xlink:href="sotk-20240229.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSales" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:href="sotk-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionTables" xlink:href="sotk-20240229.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:href="sotk-20240229.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesTables" xlink:href="sotk-20240229.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesTables" xlink:href="sotk-20240229.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxesTables" xlink:href="sotk-20240229.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShareTables" xlink:href="sotk-20240229.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:href="sotk-20240229.xsd#ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:href="sotk-20240229.xsd#ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:href="sotk-20240229.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:href="sotk-20240229.xsd#Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:href="sotk-20240229.xsd#ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="sotk-20240229.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:href="sotk-20240229.xsd#ScheduleOfInventoryCurrentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:href="sotk-20240229.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesDetails" xlink:href="sotk-20240229.xsd#AccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:href="sotk-20240229.xsd#RevolvingLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-IncomeTaxReconciliationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:href="sotk-20240229.xsd#ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:href="sotk-20240229.xsd#ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosureWithAdditionalMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpTable" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpAdjustmentsToCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TabularListsByExecutiveCategory" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TabularListMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpExecutiveCategoriesOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpAdjustmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#IndividualsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTypeOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TradingArrangmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ForgoneRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ForgoneRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/OutstandingRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#OutstandingRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardsCloseToMnpiDisc" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangemenstByInd" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/Defaults" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#Defaults" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:title="00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CashlessExerciseOfStockOptionsShares" xlink:label="loc_sotkCashlessExerciseOfStockOptionsShares_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_sotkCashlessExerciseOfStockOptionsShares_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss_50" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BusinessDescription" xlink:title="995512 - Disclosure - BUSINESS DESCRIPTION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognition" xlink:title="995514 - Disclosure - REVENUE RECOGNITION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation" xlink:title="995515 - Disclosure - STOCK-BASED COMPENSATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:title="995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - ACCRUED EXPENSES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:title="995519 - Disclosure - REVOLVING LINE OF CREDIT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes" xlink:title="995520 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShare" xlink:title="995521 - Disclosure - EARNINGS PER SHARE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:title="995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:title="995523 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:title="995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionTables" xlink:title="995526 - Disclosure - REVENUE RECOGNITION (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:title="995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesTables" xlink:title="995528 - Disclosure - INVENTORIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:title="995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesTables" xlink:title="995530 - Disclosure - ACCRUED EXPENSES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxesTables" xlink:title="995531 - Disclosure - INCOME TAXES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShareTables" xlink:title="995532 - Disclosure - EARNINGS PER SHARE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:title="995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:title="995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetLineItems" xlink:label="loc_srtPlatformOperatorCryptoAssetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetTable" xlink:label="loc_srtPlatformOperatorCryptoAssetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_srtPlatformOperatorCryptoAssetLineItems" xlink:to="loc_srtPlatformOperatorCryptoAssetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_srtPlatformOperatorCryptoAssetTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtPlatformOperatorCryptoAssetLineItems" xlink:to="loc_us-gaapMarketableSecuritiesCurrent_90" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EquipmentAndFurnishingsMember" xlink:label="loc_sotkEquipmentAndFurnishingsMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkEquipmentAndFurnishingsMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DomesticPatentsMember" xlink:label="loc_sotkDomesticPatentsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_sotkDomesticPatentsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignPatentsMember" xlink:label="loc_sotkForeignPatentsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_sotkForeignPatentsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaapAdvertisingExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAdvertisingExpense_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapCashUninsuredAmount_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapMarketableSecuritiesCurrent_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent" xlink:label="loc_us-gaapLiabilityForUncertainTaxPositionsCurrent_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapLiabilityForUncertainTaxPositionsCurrent_90" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_90" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_90" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_90" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_90" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="loc_us-gaapLand_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapLand_90" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse_90" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherResearchAndDevelopmentExpense" xlink:label="loc_us-gaapOtherResearchAndDevelopmentExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapOtherResearchAndDevelopmentExpense_90" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:title="995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FluxingSystemsMember" xlink:label="loc_sotkFluxingSystemsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkFluxingSystemsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IntegratedCoatingSystemsMember" xlink:label="loc_sotkIntegratedCoatingSystemsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkIntegratedCoatingSystemsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_MultiAxisCoatingSystemsMember" xlink:label="loc_sotkMultiAxisCoatingSystemsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkMultiAxisCoatingSystemsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OemSystemsMember" xlink:label="loc_sotkOemSystemsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkOemSystemsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OtherProductLineMember" xlink:label="loc_sotkOtherProductLineMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkOtherProductLineMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ProductLineMember" xlink:label="loc_sotkProductLineMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkProductLineMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SalesRevenuePercent" xlink:label="loc_sotkSalesRevenuePercent_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_sotkSalesRevenuePercent_130" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:title="995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:title="995538 - Disclosure - Stock-based compensation - summary of stock options (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:title="995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_70" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandTwentyThreeStockIncentivePlanMember" xlink:label="loc_sotkTwoThousandTwentyThreeStockIncentivePlanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_sotkTwoThousandTwentyThreeStockIncentivePlanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandThirteenStockIncentivePlanMember" xlink:label="loc_sotkTwoThousandThirteenStockIncentivePlanMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_sotkTwoThousandThirteenStockIncentivePlanMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_NonEmployeeDirectorsStockOptionMember" xlink:label="loc_sotkNonEmployeeDirectorsStockOptionMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkNonEmployeeDirectorsStockOptionMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EmployeesAndDirectorsMember" xlink:label="loc_sotkEmployeesAndDirectorsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkEmployeesAndDirectorsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_50" xlink:type="arc" order="52" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_170" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_170" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_170" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_170" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_170" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_170" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensation_170" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_170" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_170" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_170" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:title="995541 - Disclosure - Schedule of inventory, current (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:title="995542 - Disclosure - INVENTORIES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:title="995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaapBuildingMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_LaboratoryEquipmentMember" xlink:label="loc_sotkLaboratoryEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkLaboratoryEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TradeshowAndDemonstrationEquipmentMember" xlink:label="loc_sotkTradeshowAndDemonstrationEquipmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkTradeshowAndDemonstrationEquipmentMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapFurnitureAndFixturesMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_150" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:title="995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesDetails" xlink:title="995545 - Disclosure - Accrued expenses (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:title="995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LetterOfCreditMember" xlink:label="loc_us-gaapLetterOfCreditMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapLetterOfCreditMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd" xlink:label="loc_us-gaapLineOfCreditFacilityInterestRateAtPeriodEnd_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityInterestRateAtPeriodEnd_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:label="loc_sotkCreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_sotkCreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_50" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:title="995547 - Disclosure - Income taxes - income tax reconciliation (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:title="995548 - Disclosure - Income taxes - current and deferred tax expense (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:title="995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:title="995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:title="995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="loc_srtAsiaPacificMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtAsiaPacificMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MiddleEastMember" xlink:label="loc_us-gaapMiddleEastMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_us-gaapMiddleEastMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LatinAmericaMember" xlink:label="loc_srtLatinAmericaMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtLatinAmericaMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_90" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:title="995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaapConcentrationRiskLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaapConcentrationRiskTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignCustomersMember" xlink:label="loc_sotkForeignCustomersMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_sotkForeignCustomersMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_20" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoCustomersMember" xlink:label="loc_sotkTwoCustomersMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_sotkTwoCustomersMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FourCustomersMember" xlink:label="loc_sotkFourCustomersMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_sotkFourCustomersMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SalesRevenuePercent" xlink:label="loc_sotkSalesRevenuePercent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_sotkSalesRevenuePercent_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_70" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_NonEmployeeDirectorsStockOptionMember" xlink:label="loc_sotkNonEmployeeDirectorsStockOptionMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkNonEmployeeDirectorsStockOptionMember" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EmployeesAndDirectorsMember" xlink:label="loc_sotkEmployeesAndDirectorsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkEmployeesAndDirectorsMember" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>sotk-20240229_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link: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" />
    <link: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" />
    <link: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" />
    <link: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" />
    <link: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: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" />
    <link: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" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EquipmentAndFurnishingsMember" xlink:label="sotk_EquipmentAndFurnishingsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_EquipmentAndFurnishingsMember" xlink:to="sotk_EquipmentAndFurnishingsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_EquipmentAndFurnishingsMember_lbl" xml:lang="en-US">Equipment and Furnishings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DomesticPatentsMember" xlink:label="sotk_DomesticPatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_DomesticPatentsMember" xlink:to="sotk_DomesticPatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_DomesticPatentsMember_lbl" xml:lang="en-US">Domestic Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignPatentsMember" xlink:label="sotk_ForeignPatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_ForeignPatentsMember" xlink:to="sotk_ForeignPatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_ForeignPatentsMember_lbl" xml:lang="en-US">Foreign Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FluxingSystemsMember" xlink:label="sotk_FluxingSystemsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_FluxingSystemsMember" xlink:to="sotk_FluxingSystemsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_FluxingSystemsMember_lbl" xml:lang="en-US">Fluxing Systems [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IntegratedCoatingSystemsMember" xlink:label="sotk_IntegratedCoatingSystemsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_IntegratedCoatingSystemsMember" xlink:to="sotk_IntegratedCoatingSystemsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_IntegratedCoatingSystemsMember_lbl" xml:lang="en-US">Integrated Coating Systems [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_MultiAxisCoatingSystemsMember" xlink:label="sotk_MultiAxisCoatingSystemsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_MultiAxisCoatingSystemsMember" xlink:to="sotk_MultiAxisCoatingSystemsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_MultiAxisCoatingSystemsMember_lbl" xml:lang="en-US">Multi Axis Coating Systems [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OemSystemsMember" xlink:label="sotk_OemSystemsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_OemSystemsMember" xlink:to="sotk_OemSystemsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_OemSystemsMember_lbl" xml:lang="en-US">Oem Systems [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OtherProductLineMember" xlink:label="sotk_OtherProductLineMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_OtherProductLineMember" xlink:to="sotk_OtherProductLineMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_OtherProductLineMember_lbl" xml:lang="en-US">Other Product Line [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ProductLineMember" xlink:label="sotk_ProductLineMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_ProductLineMember" xlink:to="sotk_ProductLineMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_ProductLineMember_lbl" xml:lang="en-US">Total Product Line [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandTwentyThreeStockIncentivePlanMember" xlink:label="sotk_TwoThousandTwentyThreeStockIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TwoThousandTwentyThreeStockIncentivePlanMember" xlink:to="sotk_TwoThousandTwentyThreeStockIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_TwoThousandTwentyThreeStockIncentivePlanMember_lbl" xml:lang="en-US">the &#147;2023 Plan&#148; [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandThirteenStockIncentivePlanMember" xlink:label="sotk_TwoThousandThirteenStockIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TwoThousandThirteenStockIncentivePlanMember" xlink:to="sotk_TwoThousandThirteenStockIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_TwoThousandThirteenStockIncentivePlanMember_lbl" xml:lang="en-US">the "2013 Plan" [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_NonEmployeeDirectorsStockOptionMember" xlink:label="sotk_NonEmployeeDirectorsStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_NonEmployeeDirectorsStockOptionMember" xlink:to="sotk_NonEmployeeDirectorsStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_NonEmployeeDirectorsStockOptionMember_lbl" xml:lang="en-US">Non-Employee Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EmployeesAndDirectorsMember" xlink:label="sotk_EmployeesAndDirectorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_EmployeesAndDirectorsMember" xlink:to="sotk_EmployeesAndDirectorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_EmployeesAndDirectorsMember_lbl" xml:lang="en-US">Employee and Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US">Building [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_LaboratoryEquipmentMember" xlink:label="sotk_LaboratoryEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_LaboratoryEquipmentMember" xlink:to="sotk_LaboratoryEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_LaboratoryEquipmentMember_lbl" xml:lang="en-US">Laboratory Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TradeshowAndDemonstrationEquipmentMember" xlink:label="sotk_TradeshowAndDemonstrationEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TradeshowAndDemonstrationEquipmentMember" xlink:to="sotk_TradeshowAndDemonstrationEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_TradeshowAndDemonstrationEquipmentMember_lbl" xml:lang="en-US">Tradeshow And Demonstration Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LetterOfCreditMember" xlink:to="us-gaap_LetterOfCreditMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LetterOfCreditMember_lbl" xml:lang="en-US">Letter of Credit [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaPacificMember" xlink:to="srt_AsiaPacificMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaPacificMember_lbl" xml:lang="en-US">Asia Pacific [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MiddleEastMember" xlink:label="us-gaap_MiddleEastMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MiddleEastMember" xlink:to="us-gaap_MiddleEastMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MiddleEastMember_lbl" xml:lang="en-US">Middle East [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LatinAmericaMember" xlink:label="srt_LatinAmericaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LatinAmericaMember" xlink:to="srt_LatinAmericaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LatinAmericaMember_lbl" xml:lang="en-US">Latin America [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignCustomersMember" xlink:label="sotk_ForeignCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_ForeignCustomersMember" xlink:to="sotk_ForeignCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_ForeignCustomersMember_lbl" xml:lang="en-US">Foreign Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoCustomersMember" xlink:label="sotk_TwoCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TwoCustomersMember" xlink:to="sotk_TwoCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_TwoCustomersMember_lbl" xml:lang="en-US">Two Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FourCustomersMember" xlink:label="sotk_FourCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_FourCustomersMember" xlink:to="sotk_FourCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_FourCustomersMember_lbl" xml:lang="en-US">Four Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current Assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="us-gaap_MarketableSecuritiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesCurrent" xlink:to="us-gaap_MarketableSecuritiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesCurrent_lbl" xml:lang="en-US">Marketable securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable (less allowance of $12,225)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="us-gaap_Land" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Land" xlink:to="us-gaap_Land_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Land_lbl" xml:lang="en-US">Land</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:label="sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:to="sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet_lbl" xml:lang="en-US">Buildings, equipment, furnishings and leasehold improvements, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">TOTAL ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current Liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CustomerDeposits" xlink:label="sotk_CustomerDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CustomerDeposits" xlink:to="sotk_CustomerDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_CustomerDeposits_lbl" xml:lang="en-US">Customer deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, $.01 par value; 25,000,000 shares authorized, 15,750,880 and 15,742,073 issued and outstanding as of February 29, 2024, and February 28, 2023, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for doubtful accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, issued shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, outstanding shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Net Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of Goods Sold</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and product development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">Marketing and selling</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total Operating Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Other Income (Expense):</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterestAndDividend" xlink:label="us-gaap_InvestmentIncomeInterestAndDividend" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterestAndDividend" xlink:to="us-gaap_InvestmentIncomeInterestAndDividend_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterestAndDividend_lbl" xml:lang="en-US">Interest and Dividend Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:to="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xml:lang="en-US">Net unrealized gain/(loss) on marketable securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">Income before Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Shares &#8211; Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted Average Shares &#8211; Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Balance - February 28, 2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Beginning balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Cashless exercise of stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CashlessExerciseOfStockOptionsShares" xlink:label="sotk_CashlessExerciseOfStockOptionsShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CashlessExerciseOfStockOptionsShares" xlink:to="sotk_CashlessExerciseOfStockOptionsShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_CashlessExerciseOfStockOptionsShares_lbl" xml:lang="en-US">Cashless exercise of stock options, shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net Income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Balance - February 29, 2024</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Ending balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM OPERATING ACTIVITIES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_AccountsReceivableReserve" xlink:label="sotk_AccountsReceivableReserve" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_AccountsReceivableReserve" xlink:to="sotk_AccountsReceivableReserve_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="sotk_AccountsReceivableReserve_lbl" xml:lang="en-US">Accounts receivable reserve</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReservePeriodCharge" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge_lbl" xml:lang="en-US">Inventory reserve</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:to="us-gaap_MarketableSecuritiesUnrealizedGainLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_2_lbl" xml:lang="en-US">Unrealized (gain) loss on marketable securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred tax asset, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_lbl" xml:lang="en-US">(Increase) Decrease in:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_lbl" xml:lang="en-US">(Decrease) Increase in:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US">Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IncreaseDecreaseInCustomerDeposit" xlink:label="sotk_IncreaseDecreaseInCustomerDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_IncreaseDecreaseInCustomerDeposit" xlink:to="sotk_IncreaseDecreaseInCustomerDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="sotk_IncreaseDecreaseInCustomerDeposit_lbl" xml:lang="en-US">Customer deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net Cash Provided by Operating Activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM INVESTING ACTIVITIES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchase of equipment, furnishings and leasehold improvements</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SaleOfMarketableSecurities" xlink:label="sotk_SaleOfMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_SaleOfMarketableSecurities" xlink:to="sotk_SaleOfMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_SaleOfMarketableSecurities_lbl" xml:lang="en-US">Sale of marketable securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xml:lang="en-US">Purchase of marketable securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Used In Investing Activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">NET (DECREASE) IN CASH AND CASH EQUIVALENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xml:lang="en-US">CASH AND CASH EQUIVALENTS:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Beginning of year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2_lbl" xml:lang="en-US">End of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental Cash Flow Disclosure:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest Paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income Taxes Paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable" xlink:label="ecd_PvpTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTable" xlink:to="ecd_PvpTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTable_lbl" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis" xlink:label="ecd_ExecutiveCategoryAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ExecutiveCategoryAxis" xlink:to="ecd_ExecutiveCategoryAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ExecutiveCategoryAxis_lbl" xml:lang="en-US">Executive Category [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="ecd_IndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_IndividualAxis" xlink:to="ecd_IndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_IndividualAxis_lbl" xml:lang="en-US">Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis" xlink:label="ecd_AdjToCompAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAxis" xlink:to="ecd_AdjToCompAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAxis_lbl" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis" xlink:label="ecd_MeasureAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureAxis" xlink:to="ecd_MeasureAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureAxis_lbl" xml:lang="en-US">Measure [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock" xlink:label="ecd_PvpTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTableTextBlock" xlink:to="ecd_PvpTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTableTextBlock_lbl" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName" xlink:label="ecd_CoSelectedMeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureName" xlink:to="ecd_CoSelectedMeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureName_lbl" xml:lang="en-US">Company Selected Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="ecd_PeerGroupIssuersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupIssuersFnTextBlock" xlink:to="ecd_PeerGroupIssuersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupIssuersFnTextBlock_lbl" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="ecd_ChangedPeerGroupFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ChangedPeerGroupFnTextBlock" xlink:to="ecd_ChangedPeerGroupFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ChangedPeerGroupFnTextBlock_lbl" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt" xlink:label="ecd_PeoTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoTotalCompAmt" xlink:to="ecd_PeoTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoTotalCompAmt_lbl" xml:lang="en-US">PEO Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="ecd_PeoActuallyPaidCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoActuallyPaidCompAmt" xlink:to="ecd_PeoActuallyPaidCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoActuallyPaidCompAmt_lbl" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="ecd_AdjToPeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToPeoCompFnTextBlock" xlink:to="ecd_AdjToPeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToPeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock" xlink:label="ecd_TabularListTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TabularListTableTextBlock" xlink:to="ecd_TabularListTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TabularListTableTextBlock_lbl" xml:lang="en-US">Tabular List, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt" xlink:label="ecd_TotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnAmt" xlink:to="ecd_TotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnAmt_lbl" xml:lang="en-US">Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net Income (Loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt" xlink:label="ecd_CoSelectedMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureAmt" xlink:to="ecd_CoSelectedMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureAmt_lbl" xml:lang="en-US">Company Selected Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt" xlink:label="ecd_OtherPerfMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OtherPerfMeasureAmt" xlink:to="ecd_OtherPerfMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OtherPerfMeasureAmt_lbl" xml:lang="en-US">Other Performance Measure, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt" xlink:label="ecd_AdjToCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAmt" xlink:to="ecd_AdjToCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAmt_lbl" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName" xlink:label="ecd_PeoName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoName" xlink:to="ecd_PeoName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoName_lbl" xml:lang="en-US">PEO Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName" xlink:label="ecd_MeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureName" xlink:to="ecd_MeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xml:lang="en-US">Non-GAAP Measure Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="ecd_Additional402vDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Additional402vDisclosureTextBlock" xlink:to="ecd_Additional402vDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Additional402vDisclosureTextBlock_lbl" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="ecd_PnsnBnftsAdjFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PnsnBnftsAdjFnTextBlock" xlink:to="ecd_PnsnBnftsAdjFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PnsnBnftsAdjFnTextBlock_lbl" xml:lang="en-US">Pension Benefits Adjustments, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable" xlink:label="ecd_ErrCompRecoveryTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompRecoveryTable" xlink:to="ecd_ErrCompRecoveryTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompRecoveryTable_lbl" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis" xlink:label="ecd_RestatementDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDateAxis" xlink:to="ecd_RestatementDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDateAxis_lbl" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate" xlink:label="ecd_RestatementDeterminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDeterminationDate" xlink:to="ecd_RestatementDeterminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDeterminationDate_lbl" xml:lang="en-US">Restatement Determination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt" xlink:label="ecd_AggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompAmt" xlink:to="ecd_AggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompAmt_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="ecd_ErrCompAnalysisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompAnalysisTextBlock" xlink:to="ecd_ErrCompAnalysisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompAnalysisTextBlock_lbl" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="ecd_OutstandingAggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingAggtErrCompAmt" xlink:to="ecd_OutstandingAggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingAggtErrCompAmt_lbl" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName" xlink:label="ecd_ForgoneRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_ForgoneRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName" xlink:label="ecd_OutstandingRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_OutstandingRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="ecd_OutstandingRecoveryCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryCompAmt" xlink:to="ecd_OutstandingRecoveryCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryCompAmt_lbl" xml:lang="en-US">Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xml:lang="en-US">Restatement does not require Recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="ecd_AwardsCloseToMnpiDiscTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTable" xlink:to="ecd_AwardsCloseToMnpiDiscTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTable_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="ecd_AwardTmgMnpiDiscTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiDiscTextBlock" xlink:to="ecd_AwardTmgMnpiDiscTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiDiscTextBlock_lbl" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="ecd_AwardTmgMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMethodTextBlock" xlink:to="ecd_AwardTmgMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMethodTextBlock_lbl" xml:lang="en-US">Award Timing Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="ecd_AwardTmgPredtrmndFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgPredtrmndFlag" xlink:to="ecd_AwardTmgPredtrmndFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgPredtrmndFlag_lbl" xml:lang="en-US">Award Timing Predetermined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xml:lang="en-US">Award Timing MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="ecd_MnpiDiscTimedForCompValFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MnpiDiscTimedForCompValFlag" xlink:to="ecd_MnpiDiscTimedForCompValFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MnpiDiscTimedForCompValFlag_lbl" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="ecd_AwardsCloseToMnpiDiscIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="ecd_AwardUndrlygSecuritiesAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardUndrlygSecuritiesAmt" xlink:to="ecd_AwardUndrlygSecuritiesAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardUndrlygSecuritiesAmt_lbl" xml:lang="en-US">Underlying Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice" xlink:label="ecd_AwardExrcPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardExrcPrice" xlink:to="ecd_AwardExrcPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardExrcPrice_lbl" xml:lang="en-US">Exercise Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue" xlink:label="ecd_AwardGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardGrantDateFairValue" xlink:to="ecd_AwardGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardGrantDateFairValue_lbl" xml:lang="en-US">Fair Value as of Grant Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="ecd_UndrlygSecurityMktPriceChngPct" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_UndrlygSecurityMktPriceChngPct" xlink:to="ecd_UndrlygSecurityMktPriceChngPct_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_UndrlygSecurityMktPriceChngPct_lbl" xml:lang="en-US">Underlying Security Market Price Change</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingArrLineItems_lbl" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName" xlink:label="ecd_TrdArrIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_TrdArrIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle" xlink:label="ecd_TrdArrIndTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndTitle" xlink:to="ecd_TrdArrIndTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndTitle_lbl" xml:lang="en-US">Title</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate" xlink:label="ecd_TrdArrAdoptionDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrAdoptionDate" xlink:to="ecd_TrdArrAdoptionDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrAdoptionDate_lbl" xml:lang="en-US">Adoption Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate" xlink:label="ecd_TrdArrTerminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrTerminationDate" xlink:to="ecd_TrdArrTerminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrTerminationDate_lbl" xml:lang="en-US">Termination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate" xlink:label="ecd_TrdArrExpirationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrExpirationDate" xlink:to="ecd_TrdArrExpirationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrExpirationDate_lbl" xml:lang="en-US">Expiration Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration" xlink:label="ecd_TrdArrDuration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrDuration" xlink:to="ecd_TrdArrDuration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrDuration_lbl" xml:lang="en-US">Arrangement Duration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="ecd_InsiderTradingPoliciesProcLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingPoliciesProcLineItems" xlink:to="ecd_InsiderTradingPoliciesProcLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingPoliciesProcLineItems_lbl" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">BUSINESS DESCRIPTION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">SIGNIFICANT ACCOUNTING POLICIES</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DisclosureRevenueRecognitionAbstract" xlink:label="sotk_DisclosureRevenueRecognitionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_DisclosureRevenueRecognitionAbstract" xlink:to="sotk_DisclosureRevenueRecognitionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_DisclosureRevenueRecognitionAbstract_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">REVENUE RECOGNITION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">ACCRUED EXPENSES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="us-gaap_ShortTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTextBlock" xlink:to="us-gaap_ShortTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTextBlock_lbl" xml:lang="en-US">REVOLVING LINE OF CREDIT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">EARNINGS PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xml:lang="en-US">Risks and Uncertainties [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">CUSTOMER CONCENTRATIONS AND FOREIGN SALES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xml:lang="en-US">Advertising Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesPolicyTextBlock" xlink:to="us-gaap_ReceivablesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesPolicyTextBlock_lbl" xml:lang="en-US">Accounts Receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Equipment, Furnishings and Leasehold Improvements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl" xml:lang="en-US">Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_LandAndBuildingsPolicyTextBlock" xlink:label="sotk_LandAndBuildingsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_LandAndBuildingsPolicyTextBlock" xlink:to="sotk_LandAndBuildingsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_LandAndBuildingsPolicyTextBlock_lbl" xml:lang="en-US">Land and Buildings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Management Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US">Product Warranty</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US">Research and Product Development Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock" xlink:label="us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock" xlink:to="us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock_lbl" xml:lang="en-US">Stock-Based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xml:lang="en-US">Schedule of significant accounting policies - fair values of financial assets of the company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US">Schedule of revenue recognition - sales revenue by product line</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Stock-based compensation - summary of stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted-average black-scholes assumptions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of inventory, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Buildings, equipment, furnishings and leasehold improvements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Income taxes - income tax reconciliation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Income taxes - current and deferred tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Income taxes - deferred tax asset and liability components</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of computation of basic and diluted earnings per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xml:lang="en-US">Schedule of customer concentrations and foreign sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetTable" xlink:label="srt_PlatformOperatorCryptoAssetTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_PlatformOperatorCryptoAssetTable" xlink:to="srt_PlatformOperatorCryptoAssetTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_PlatformOperatorCryptoAssetTable_lbl" xml:lang="en-US">Platform Operator, Crypto Asset [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetLineItems" xlink:label="srt_PlatformOperatorCryptoAssetLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_PlatformOperatorCryptoAssetLineItems" xlink:to="srt_PlatformOperatorCryptoAssetLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_PlatformOperatorCryptoAssetLineItems_lbl" xml:lang="en-US">Platform Operator, Crypto Asset [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesCurrent" xlink:to="us-gaap_MarketableSecuritiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MarketableSecuritiesCurrent_2_lbl" xml:lang="en-US">Marketable Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingExpense_lbl" xml:lang="en-US">Advertising expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashUninsuredAmount" xlink:to="us-gaap_CashUninsuredAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashUninsuredAmount_lbl" xml:lang="en-US">Cash in excess of the FDIC insured limit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated useful lives</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityForUncertainTaxPositionsCurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsCurrent_lbl" xml:lang="en-US">Uncertain tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl" xml:lang="en-US">Impairment losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherResearchAndDevelopmentExpense" xlink:label="us-gaap_OtherResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherResearchAndDevelopmentExpense" xlink:to="us-gaap_OtherResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and development expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Sales revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SalesRevenuePercent" xlink:label="sotk_SalesRevenuePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_SalesRevenuePercent" xlink:to="sotk_SalesRevenuePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_SalesRevenuePercent_lbl" xml:lang="en-US">Sales revenue, percent</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CashDeposits" xlink:label="sotk_CashDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CashDeposits" xlink:to="sotk_CashDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_CashDeposits_lbl" xml:lang="en-US">Cash deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Letter of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCollateralFeesAmount" xlink:label="us-gaap_LineOfCreditFacilityCollateralFeesAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCollateralFeesAmount" xlink:to="us-gaap_LineOfCreditFacilityCollateralFeesAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCollateralFeesAmount_lbl" xml:lang="en-US">Line of credit collateral amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Stock Options outstanding at beginning of period (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Stock Options exercisable at beginning of period (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average outstanding at beginning of period (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average exercisable at beginning of period (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining term outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Granted (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Granted (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Exercised (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Exercised (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Cancelled (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Cancelled (in dollars per share)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Stock Options outstanding at end of period (in shares)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Stock Options exercisable at end of period (in shares)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted Average outstanding at end of period (in dollars per share)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted Average exercisable at end of period (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected life (in years)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_lbl" xml:lang="en-US">Risk free interest rate, minimum</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_lbl" xml:lang="en-US">Risk free interest rate, maximum</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_lbl" xml:lang="en-US">Expected volatility, minimum</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_lbl" xml:lang="en-US">Expected volatility, maximum</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Expected dividend yield</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Number of shares available for purchase</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Options outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xml:lang="en-US">Options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Options, expiration period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Options, exercisable price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Options, vesting period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average grant date fair value, per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of options outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US">Compensation expense not yet recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Compensation expense, period for recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Options cancelled in settlement of shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials and subassemblies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xml:lang="en-US">Work in process</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Allowance for slow moving inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Totals</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less: Accumulated depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Equipment, furnishings and leasehold improvements, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalariesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalariesCurrent_lbl" xml:lang="en-US">Accrued compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrual_lbl" xml:lang="en-US">Estimated warranty costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedPayrollTaxesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedPayrollTaxesCurrent_lbl" xml:lang="en-US">Accrued sales tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalesCommissionCurrentAndNoncurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalesCommissionCurrentAndNoncurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalesCommissionCurrentAndNoncurrent_lbl" xml:lang="en-US">Accrued commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent_lbl" xml:lang="en-US">Professional fees</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Other accrued expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xml:lang="en-US">Total accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd" xlink:label="us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd" xlink:to="us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:label="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:to="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_lbl" xml:lang="en-US">Credit line utilized to collateralize letter of credit issued to customers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Unused portion of credit line</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Expected federal income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State tax, net of federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development tax credits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xml:lang="en-US">Permanent differences</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total current income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total deferred income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US">Allowance for inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US">Allowance for accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CapitalizedRdExpensesIrcSection174" xlink:label="sotk_CapitalizedRdExpensesIrcSection174" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CapitalizedRdExpensesIrcSection174" xlink:to="sotk_CapitalizedRdExpensesIrcSection174_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_CapitalizedRdExpensesIrcSection174_lbl" xml:lang="en-US">Capitalized R&amp;D expenses - IRC Section 174</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_lbl" xml:lang="en-US">Accrued expenses and other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset - Long Term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Building and leasehold depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability - Long Term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_3_lbl" xml:lang="en-US">Numerator for basic and diluted earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Denominator for basic earnings per share - weighted average</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="us-gaap_DilutiveSecuritiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesAbstract" xlink:to="us-gaap_DilutiveSecuritiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DilutiveSecuritiesAbstract_lbl" xml:lang="en-US">Effects of dilutive securities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Stock options for employees, directors and outside consultants</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Denominator for diluted earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Basic Earnings Per Share &#8211; Weighted Average</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Diluted Earnings Per Share &#8211; Weighted Average</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Total sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US">Concentration Risk [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Outstanding accounts receivables, percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_EquipmentAndFurnishingsMember" xlink:to="sotk_EquipmentAndFurnishingsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_EquipmentAndFurnishingsMember_doc" xml:lang="en-US">Equipment and Furnishings</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_FluxingSystemsMember" xlink:to="sotk_FluxingSystemsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_FluxingSystemsMember_doc" xml:lang="en-US">Fluxing Systems</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_SalesRevenuePercent" xlink:to="sotk_SalesRevenuePercent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_SalesRevenuePercent_doc" xml:lang="en-US">Percent of Sales Revenue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_IntegratedCoatingSystemsMember" xlink:to="sotk_IntegratedCoatingSystemsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_IntegratedCoatingSystemsMember_doc" xml:lang="en-US">Integrated Coating Systems</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_MultiAxisCoatingSystemsMember" xlink:to="sotk_MultiAxisCoatingSystemsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_MultiAxisCoatingSystemsMember_doc" xml:lang="en-US">Multi Axis Coating Systems</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_OemSystemsMember" xlink:to="sotk_OemSystemsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_OemSystemsMember_doc" xml:lang="en-US">OEM Systems</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_OtherProductLineMember" xlink:to="sotk_OtherProductLineMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_OtherProductLineMember_doc" xml:lang="en-US">Other Product Line</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_ProductLineMember" xlink:to="sotk_ProductLineMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_ProductLineMember_doc" xml:lang="en-US">Total Product Line</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TwoThousandThirteenStockIncentivePlanMember" xlink:to="sotk_TwoThousandThirteenStockIncentivePlanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_TwoThousandThirteenStockIncentivePlanMember_doc" xml:lang="en-US">the "2013 Plan"</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_NonEmployeeDirectorsStockOptionMember" xlink:to="sotk_NonEmployeeDirectorsStockOptionMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_NonEmployeeDirectorsStockOptionMember_doc" xml:lang="en-US">Non-Employee Directors</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_EmployeesAndDirectorsMember" xlink:to="sotk_EmployeesAndDirectorsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_EmployeesAndDirectorsMember_doc" xml:lang="en-US">Employee and Directors</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_LaboratoryEquipmentMember" xlink:to="sotk_LaboratoryEquipmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_LaboratoryEquipmentMember_doc" xml:lang="en-US">Laboratory Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TradeshowAndDemonstrationEquipmentMember" xlink:to="sotk_TradeshowAndDemonstrationEquipmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_TradeshowAndDemonstrationEquipmentMember_doc" xml:lang="en-US">Trade Show and Demonstration Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:to="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_doc" xml:lang="en-US">Amount borrowed under the credit facility being utilized to collateralize letters of credit issued to customers for cash deposits on existing orders during the period.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_ForeignCustomersMember" xlink:to="sotk_ForeignCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_ForeignCustomersMember_doc" xml:lang="en-US">Foreign Customers</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_TwoCustomersMember" xlink:to="sotk_TwoCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="sotk_TwoCustomersMember_doc" xml:lang="en-US">Two Customers</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_2_lbl" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_AccountsReceivableReserve" xlink:to="sotk_AccountsReceivableReserve_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_AccountsReceivableReserve_2_lbl" xml:lang="en-US">AccountsReceivableReserve</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_2_lbl" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="sotk_IncreaseDecreaseInCustomerDeposit" xlink:to="sotk_IncreaseDecreaseInCustomerDeposit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="sotk_IncreaseDecreaseInCustomerDeposit_2_lbl" xml:lang="en-US">IncreaseDecreaseInCustomerDeposit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accrued Taxes Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryIndName_2_lbl" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryIndName_2_lbl" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndName_2_lbl" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_2_lbl" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_2_lbl" xml:lang="en-US">Revenue [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_2_lbl" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_2_lbl" xml:lang="en-US">Inventory, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilities_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>sotk-20240229_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://sono-tek.com/role/Cover" xlink:href="sotk-20240229.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="sotk-20240229.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:href="sotk-20240229.xsd#OnsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="sotk-20240229.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BusinessDescription" xlink:href="sotk-20240229.xsd#BusinessDescription" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognition" xlink:href="sotk-20240229.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation" xlink:href="sotk-20240229.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Inventories" xlink:href="sotk-20240229.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpenses" xlink:href="sotk-20240229.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:href="sotk-20240229.xsd#RevolvingLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes" xlink:href="sotk-20240229.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShare" xlink:href="sotk-20240229.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSales" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:href="sotk-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionTables" xlink:href="sotk-20240229.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:href="sotk-20240229.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesTables" xlink:href="sotk-20240229.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesTables" xlink:href="sotk-20240229.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxesTables" xlink:href="sotk-20240229.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/EarningsPerShareTables" xlink:href="sotk-20240229.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:href="sotk-20240229.xsd#ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="sotk-20240229.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:href="sotk-20240229.xsd#ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:href="sotk-20240229.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:href="sotk-20240229.xsd#Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:href="sotk-20240229.xsd#ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="sotk-20240229.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:href="sotk-20240229.xsd#ScheduleOfInventoryCurrentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:href="sotk-20240229.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:href="sotk-20240229.xsd#BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/AccruedExpensesDetails" xlink:href="sotk-20240229.xsd#AccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:href="sotk-20240229.xsd#RevolvingLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-IncomeTaxReconciliationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:href="sotk-20240229.xsd#IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:href="sotk-20240229.xsd#ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:href="sotk-20240229.xsd#ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:href="sotk-20240229.xsd#CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ErrCompDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTimingDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingPoliciesProc" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="loc_deiDocumentFinStmtErrorCorrectionFlag" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFinStmtErrorCorrectionFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="620" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="loc_us-gaapLand" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLand" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:label="loc_sotkBuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_sotkBuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CustomerDeposits" xlink:label="loc_sotkCustomerDeposits" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_sotkCustomerDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaapAccruedIncomeTaxesCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedIncomeTaxesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfIncome" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapNonoperatingIncomeExpenseAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterestAndDividend" xlink:label="loc_us-gaapInvestmentIncomeInterestAndDividend" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapInvestmentIncomeInterestAndDividend" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity" xlink:title="00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CashlessExerciseOfStockOptionsShares" xlink:label="loc_sotkCashlessExerciseOfStockOptionsShares" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_sotkCashlessExerciseOfStockOptionsShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_AccountsReceivableReserve" xlink:label="loc_sotkAccountsReceivableReserve" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_sotkAccountsReceivableReserve" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="loc_us-gaapInventoryLIFOReservePeriodCharge" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapInventoryLIFOReservePeriodCharge" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingAssetsAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingAssetsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingAssetsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingAssetsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IncreaseDecreaseInCustomerDeposit" xlink:label="loc_sotkIncreaseDecreaseInCustomerDeposit" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="loc_sotkIncreaseDecreaseInCustomerDeposit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedTaxesPayable" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedTaxesPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SaleOfMarketableSecurities" xlink:label="loc_sotkSaleOfMarketableSecurities" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_sotkSaleOfMarketableSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaapCashAndCashEquivalentsAbstract" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:title="995410 - Disclosure - Pay vs Performance Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PayVsPerformanceDisclosureLineItems" xlink:label="loc_ecdPayVsPerformanceDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable" xlink:label="loc_ecdPvpTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis" xlink:label="loc_ecdExecutiveCategoryAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdExecutiveCategoryAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllExecutiveCategoriesMember" xlink:label="loc_ecdAllExecutiveCategoriesMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdExecutiveCategoryAxis" xlink:to="loc_ecdAllExecutiveCategoriesMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis" xlink:label="loc_ecdAdjToCompAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdAdjToCompAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllAdjToCompMember" xlink:label="loc_ecdAllAdjToCompMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAdjToCompAxis" xlink:to="loc_ecdAllAdjToCompMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis" xlink:label="loc_ecdMeasureAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdMeasureAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock" xlink:label="loc_ecdPvpTableTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName" xlink:label="loc_ecdCoSelectedMeasureName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdCoSelectedMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="loc_ecdNamedExecutiveOfficersFnTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdNamedExecutiveOfficersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="loc_ecdPeerGroupIssuersFnTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeerGroupIssuersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="loc_ecdChangedPeerGroupFnTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdChangedPeerGroupFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt" xlink:label="loc_ecdPeoTotalCompAmt" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="loc_ecdPeoActuallyPaidCompAmt" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoActuallyPaidCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="loc_ecdAdjToPeoCompFnTextBlock" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdAdjToPeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="loc_ecdNonPeoNeoAvgTotalCompAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="loc_ecdAdjToNonPeoNeoCompFnTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdAdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:presentationArc order="2140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" />
      <link:presentationArc order="2150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" />
      <link:presentationArc order="2160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock" xlink:label="loc_ecdTabularListTableTextBlock" />
      <link:presentationArc order="2170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTabularListTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt" xlink:label="loc_ecdTotalShareholderRtnAmt" />
      <link:presentationArc order="2180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="loc_ecdPeerGroupTotalShareholderRtnAmt" />
      <link:presentationArc order="2190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdPeerGroupTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="2200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt" xlink:label="loc_ecdCoSelectedMeasureAmt" />
      <link:presentationArc order="2210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdCoSelectedMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt" xlink:label="loc_ecdOtherPerfMeasureAmt" />
      <link:presentationArc order="2220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdOtherPerfMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt" xlink:label="loc_ecdAdjToCompAmt" />
      <link:presentationArc order="2230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdAdjToCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName" xlink:label="loc_ecdPeoName" />
      <link:presentationArc order="2240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdPeoName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName" xlink:label="loc_ecdMeasureName" />
      <link:presentationArc order="2250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="loc_ecdNonGaapMeasureDescriptionTextBlock" />
      <link:presentationArc order="2260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdMeasureName" xlink:to="loc_ecdNonGaapMeasureDescriptionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="loc_ecdAdditional402vDisclosureTextBlock" />
      <link:presentationArc order="2270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdAdditional402vDisclosureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="loc_ecdPnsnBnftsAdjFnTextBlock" />
      <link:presentationArc order="2280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPnsnBnftsAdjFnTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:title="995440 - Disclosure - Recovery of Erroneously Awarded Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RecoveryOfErrCompDisclosureLineItems" xlink:label="loc_ecdRecoveryOfErrCompDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable" xlink:label="loc_ecdErrCompRecoveryTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdErrCompRecoveryTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis" xlink:label="loc_ecdRestatementDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdRestatementDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate" xlink:label="loc_ecdRestatementDeterminationDate" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdRestatementDeterminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt" xlink:label="loc_ecdAggtErrCompAmt" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="loc_ecdErrCompAnalysisTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdErrCompAnalysisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="loc_ecdOutstandingAggtErrCompAmt" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdOutstandingAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="loc_ecdAggtErrCompNotYetDeterminedTextBlock" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdAggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName" xlink:label="loc_ecdForgoneRecoveryIndName" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName" xlink:label="loc_ecdOutstandingRecoveryIndName" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="loc_ecdOutstandingRecoveryCompAmt" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:title="995443 - Disclosure - Award Timing Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgDiscLineItems" xlink:label="loc_ecdAwardTmgDiscLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="loc_ecdAwardsCloseToMnpiDiscTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_ecdIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="loc_ecdAwardTmgMnpiDiscTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiDiscTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="loc_ecdAwardTmgMethodTextBlock" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="loc_ecdAwardTmgPredtrmndFlag" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgPredtrmndFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="loc_ecdAwardTmgMnpiCnsdrdFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiCnsdrdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="loc_ecdMnpiDiscTimedForCompValFlag" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdMnpiDiscTimedForCompValFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="loc_ecdAwardsCloseToMnpiDiscIndName" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="loc_ecdAwardUndrlygSecuritiesAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardUndrlygSecuritiesAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice" xlink:label="loc_ecdAwardExrcPrice" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardExrcPrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue" xlink:label="loc_ecdAwardGrantDateFairValue" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="loc_ecdUndrlygSecurityMktPriceChngPct" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdUndrlygSecurityMktPriceChngPct" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arrangements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdMtrlTermsOfTrdArrTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName" xlink:label="loc_ecdTrdArrIndName" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle" xlink:label="loc_ecdTrdArrIndTitle" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate" xlink:label="loc_ecdTrdArrAdoptionDate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrAdoptionDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate" xlink:label="loc_ecdTrdArrTerminationDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrTerminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate" xlink:label="loc_ecdTrdArrExpirationDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrExpirationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration" xlink:label="loc_ecdTrdArrDuration" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrDuration" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:title="995447 - Disclosure - Insider Trading Policies and Procedures">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="loc_ecdInsiderTradingPoliciesProcLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BusinessDescription" xlink:title="995512 - Disclosure - BUSINESS DESCRIPTION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognition" xlink:title="995514 - Disclosure - REVENUE RECOGNITION">
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DisclosureRevenueRecognitionAbstract" xlink:label="loc_sotkDisclosureRevenueRecognitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation" xlink:title="995515 - Disclosure - STOCK-BASED COMPENSATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapShareholdersEquityAndShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements" xlink:title="995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - ACCRUED EXPENSES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCredit" xlink:title="995519 - Disclosure - REVOLVING LINE OF CREDIT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="loc_us-gaapShortTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapShortTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes" xlink:title="995520 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShare" xlink:title="995521 - Disclosure - EARNINGS PER SHARE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSales" xlink:title="995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="loc_us-gaapConcentrationRiskDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapConcentrationRiskDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CommitmentsAndContingencies" xlink:title="995523 - Disclosure - COMMITMENTS AND CONTINGENCIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaapAdvertisingCostsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapAdvertisingCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="loc_us-gaapReceivablesPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapReceivablesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConsolidationPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="loc_us-gaapIntangibleAssetsFiniteLivedPolicy" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIntangibleAssetsFiniteLivedPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_LandAndBuildingsPolicyTextBlock" xlink:label="loc_sotkLandAndBuildingsPolicyTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_sotkLandAndBuildingsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="loc_us-gaapStandardProductWarrantyPolicy" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStandardProductWarrantyPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="loc_us-gaapResearchAndDevelopmentExpensePolicy" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpensePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaapRevenueRecognitionPolicyTextBlock" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock" xlink:label="loc_us-gaapShareBasedCompensationForfeituresPolicyTextBlock" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapShareBasedCompensationForfeituresPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesTables" xlink:title="995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionTables" xlink:title="995526 - Disclosure - REVENUE RECOGNITION (Tables)">
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DisclosureRevenueRecognitionAbstract" xlink:label="loc_sotkDisclosureRevenueRecognitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationTables" xlink:title="995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesTables" xlink:title="995528 - Disclosure - INVENTORIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables" xlink:title="995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesTables" xlink:title="995530 - Disclosure - ACCRUED EXPENSES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxesTables" xlink:title="995531 - Disclosure - INCOME TAXES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/EarningsPerShareTables" xlink:title="995532 - Disclosure - EARNINGS PER SHARE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables" xlink:title="995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="loc_us-gaapSchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapSchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails" xlink:title="995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetTable" xlink:label="loc_srtPlatformOperatorCryptoAssetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_srtPlatformOperatorCryptoAssetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_PlatformOperatorCryptoAssetLineItems" xlink:label="loc_srtPlatformOperatorCryptoAssetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtPlatformOperatorCryptoAssetTable" xlink:to="loc_srtPlatformOperatorCryptoAssetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtPlatformOperatorCryptoAssetTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtPlatformOperatorCryptoAssetLineItems" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EquipmentAndFurnishingsMember" xlink:label="loc_sotkEquipmentAndFurnishingsMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkEquipmentAndFurnishingsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DomesticPatentsMember" xlink:label="loc_sotkDomesticPatentsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_sotkDomesticPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignPatentsMember" xlink:label="loc_sotkForeignPatentsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_sotkForeignPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaapAdvertisingExpense" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAdvertisingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapCashUninsuredAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent" xlink:label="loc_us-gaapLiabilityForUncertainTaxPositionsCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapLiabilityForUncertainTaxPositionsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land" xlink:label="loc_us-gaapLand" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapLand" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherResearchAndDevelopmentExpense" xlink:label="loc_us-gaapOtherResearchAndDevelopmentExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapOtherResearchAndDevelopmentExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails" xlink:title="995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)">
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DisclosureRevenueRecognitionAbstract" xlink:label="loc_sotkDisclosureRevenueRecognitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FluxingSystemsMember" xlink:label="loc_sotkFluxingSystemsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkFluxingSystemsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_IntegratedCoatingSystemsMember" xlink:label="loc_sotkIntegratedCoatingSystemsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkIntegratedCoatingSystemsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_MultiAxisCoatingSystemsMember" xlink:label="loc_sotkMultiAxisCoatingSystemsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkMultiAxisCoatingSystemsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OemSystemsMember" xlink:label="loc_sotkOemSystemsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkOemSystemsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_OtherProductLineMember" xlink:label="loc_sotkOtherProductLineMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkOtherProductLineMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ProductLineMember" xlink:label="loc_sotkProductLineMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_sotkProductLineMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SalesRevenuePercent" xlink:label="loc_sotkSalesRevenuePercent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_sotkSalesRevenuePercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevenueRecognitionDetailsNarrative" xlink:title="995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_DisclosureRevenueRecognitionAbstract" xlink:label="loc_sotkDisclosureRevenueRecognitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CashDeposits" xlink:label="loc_sotkCashDeposits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_sotkCashDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_us-gaapLineOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCollateralFeesAmount" xlink:label="loc_us-gaapLineOfCreditFacilityCollateralFeesAmount" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_sotkDisclosureRevenueRecognitionAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityCollateralFeesAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails" xlink:title="995538 - Disclosure - Stock-based compensation - summary of stock options (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails" xlink:title="995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandTwentyThreeStockIncentivePlanMember" xlink:label="loc_sotkTwoThousandTwentyThreeStockIncentivePlanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_sotkTwoThousandTwentyThreeStockIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoThousandThirteenStockIncentivePlanMember" xlink:label="loc_sotkTwoThousandThirteenStockIncentivePlanMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_sotkTwoThousandThirteenStockIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_NonEmployeeDirectorsStockOptionMember" xlink:label="loc_sotkNonEmployeeDirectorsStockOptionMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkNonEmployeeDirectorsStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_EmployeesAndDirectorsMember" xlink:label="loc_sotkEmployeesAndDirectorsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_sotkEmployeesAndDirectorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails" xlink:title="995541 - Disclosure - Schedule of inventory, current (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/InventoriesDetailsNarrative" xlink:title="995542 - Disclosure - INVENTORIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails" xlink:title="995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaapBuildingMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_LaboratoryEquipmentMember" xlink:label="loc_sotkLaboratoryEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkLaboratoryEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TradeshowAndDemonstrationEquipmentMember" xlink:label="loc_sotkTradeshowAndDemonstrationEquipmentMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_sotkTradeshowAndDemonstrationEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapFurnitureAndFixturesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative" xlink:title="995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/AccruedExpensesDetails" xlink:title="995545 - Disclosure - Accrued expenses (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="loc_us-gaapAccruedSalariesCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedSalariesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaapProductWarrantyAccrual" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapProductWarrantyAccrual" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalesCommissionCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrentAndNoncurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedSalesCommissionCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedProfessionalFeesCurrentAndNoncurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedProfessionalFeesCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrentAndNoncurrent" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative" xlink:title="995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LetterOfCreditMember" xlink:label="loc_us-gaapLetterOfCreditMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapLetterOfCreditMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd" xlink:label="loc_us-gaapLineOfCreditFacilityInterestRateAtPeriodEnd" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityInterestRateAtPeriodEnd" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:label="loc_sotkCreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_sotkCreditLineUtilizedForCollateralizeLettersOfCreditToCustomers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails" xlink:title="995547 - Disclosure - Income taxes - income tax reconciliation (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="loc_us-gaapIncomeTaxReconciliationTaxCreditsResearch" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationTaxCreditsResearch" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails" xlink:title="995548 - Disclosure - Income taxes - current and deferred tax expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="loc_us-gaapFederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapFederalIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails" xlink:title="995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="loc_us-gaapDeferredTaxAssetsInventory" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsInventory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_CapitalizedRdExpensesIrcSection174" xlink:label="loc_sotkCapitalizedRdExpensesIrcSection174" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_sotkCapitalizedRdExpensesIrcSection174" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaapDeferredTaxLiabilities" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails" xlink:title="995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="loc_us-gaapDilutiveSecuritiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapDilutiveSecuritiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails" xlink:title="995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="loc_srtAsiaPacificMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtAsiaPacificMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MiddleEastMember" xlink:label="loc_us-gaapMiddleEastMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_us-gaapMiddleEastMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LatinAmericaMember" xlink:label="loc_srtLatinAmericaMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtLatinAmericaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative" xlink:title="995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaapConcentrationRiskTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapConcentrationRiskTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaapConcentrationRiskLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_ForeignCustomersMember" xlink:label="loc_sotkForeignCustomersMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_sotkForeignCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_srtMajorCustomersAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_TwoCustomersMember" xlink:label="loc_sotkTwoCustomersMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_sotkTwoCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_FourCustomersMember" xlink:label="loc_sotkFourCustomersMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_sotkFourCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="sotk-20240229.xsd#sotk_SalesRevenuePercent" xlink:label="loc_sotkSalesRevenuePercent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_sotkSalesRevenuePercent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368710096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - 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>Feb. 29, 2024</div></th>
<th class="th"><div>May 17, 2024</div></th>
<th class="th"><div>Aug. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 29,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--02-28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-16035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">SONO TEK CORP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000806172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">14-1568099<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2012 Route 9W<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Milton<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">12547<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">795-2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock $0.01 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">SOTK<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 72,065,185<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,750,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text">None.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Marcum 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">East Hanover, NJ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentsIncorporatedByReferenceTextBlock</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>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_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368884128">
<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>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 2,134,786<span></span>
</td>
<td class="nump">$ 3,354,601<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable securities</a></td>
<td class="nump">9,711,351<span></span>
</td>
<td class="nump">8,090,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable (less allowance of $12,225)</a></td>
<td class="nump">1,470,711<span></span>
</td>
<td class="nump">1,633,866<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">5,221,980<span></span>
</td>
<td class="nump">3,242,909<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">207,738<span></span>
</td>
<td class="nump">254,046<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">18,746,566<span></span>
</td>
<td class="nump">16,575,422<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">250,000<span></span>
</td>
<td class="nump">250,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="Show.showAR( this, 'defref_sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet', window );">Buildings, equipment, furnishings and leasehold improvements, net</a></td>
<td class="nump">2,832,156<span></span>
</td>
<td class="nump">2,624,996<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">47,566<span></span>
</td>
<td class="nump">57,202<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset</a></td>
<td class="nump">1,255,977<span></span>
</td>
<td class="nump">667,098<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">23,132,265<span></span>
</td>
<td class="nump">20,174,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,049,742<span></span>
</td>
<td class="nump">810,863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">1,739,478<span></span>
</td>
<td class="nump">1,427,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_CustomerDeposits', window );">Customer deposits</a></td>
<td class="nump">3,419,706<span></span>
</td>
<td class="nump">2,838,165<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income taxes payable</a></td>
<td class="nump">414,807<span></span>
</td>
<td class="nump">381,421<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">6,623,733<span></span>
</td>
<td class="nump">5,457,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liability</a></td>
<td class="nump">229,534<span></span>
</td>
<td class="nump">82,865<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">6,853,267<span></span>
</td>
<td class="nump">5,540,760<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 25,000,000 shares authorized, 15,750,880 and 15,742,073 issued and outstanding as of February 29, 2024, and February 28, 2023, respectively</a></td>
<td class="nump">157,509<span></span>
</td>
<td class="nump">157,421<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">9,770,387<span></span>
</td>
<td class="nump">9,566,898<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">6,351,102<span></span>
</td>
<td class="nump">4,909,639<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">16,278,998<span></span>
</td>
<td class="nump">14,633,958<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</a></td>
<td class="nump">$ 23,132,265<span></span>
</td>
<td class="nump">$ 20,174,718<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_sotk_CustomerDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_CustomerDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659280152512">
<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>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts receivable</a></td>
<td class="nump">$ 12,225<span></span>
</td>
<td class="nump">$ 12,225<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, authorized</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued shares</a></td>
<td class="nump">15,750,880<span></span>
</td>
<td class="nump">15,742,073<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, outstanding shares</a></td>
<td class="nump">15,750,880<span></span>
</td>
<td class="nump">15,742,073<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659279071664">
<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>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 19,699,886<span></span>
</td>
<td class="nump">$ 15,058,203<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of Goods Sold</a></td>
<td class="nump">9,855,311<span></span>
</td>
<td class="nump">7,406,196<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">9,844,575<span></span>
</td>
<td class="nump">7,652,007<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating Expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and product development</a></td>
<td class="nump">2,885,773<span></span>
</td>
<td class="nump">2,149,525<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Marketing and selling</a></td>
<td class="nump">3,695,870<span></span>
</td>
<td class="nump">3,169,730<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">2,080,447<span></span>
</td>
<td class="nump">1,649,761<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total Operating Expenses</a></td>
<td class="nump">8,662,090<span></span>
</td>
<td class="nump">6,969,016<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Income</a></td>
<td class="nump">1,182,485<span></span>
</td>
<td class="nump">682,991<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other Income (Expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterestAndDividend', window );">Interest and Dividend Income</a></td>
<td class="nump">529,735<span></span>
</td>
<td class="nump">140,042<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Net unrealized gain/(loss) on marketable securities</a></td>
<td class="nump">32,360<span></span>
</td>
<td class="num">(33,119)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income before Income Taxes</a></td>
<td class="nump">1,744,580<span></span>
</td>
<td class="nump">789,914<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income Tax Expense</a></td>
<td class="nump">303,117<span></span>
</td>
<td class="nump">154,009<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="nump">$ 1,441,463<span></span>
</td>
<td class="nump">$ 635,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic Earnings Per Share</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted Earnings Per Share</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Shares &#8211; Basic</a></td>
<td class="nump">15,743,763<span></span>
</td>
<td class="nump">15,735,451<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted Average Shares &#8211; Diluted</a></td>
<td class="nump">15,774,007<span></span>
</td>
<td class="nump">15,769,499<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterestAndDividend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterestAndDividend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MarketableSecuritiesUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment in marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368843984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance - February 28, 2023 at Feb. 28, 2022</a></td>
<td class="nump">$ 157,292<span></span>
</td>
<td class="nump">$ 9,310,287<span></span>
</td>
<td class="nump">$ 4,273,734<span></span>
</td>
<td class="nump">$ 13,741,313<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, shares at Feb. 28, 2022</a></td>
<td class="nump">15,729,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">256,740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">256,740<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Cashless exercise of stock options</a></td>
<td class="nump">$ 129<span></span>
</td>
<td class="num">(129)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_CashlessExerciseOfStockOptionsShares', window );">Cashless exercise of stock options, shares</a></td>
<td class="nump">12,898<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">635,905<span></span>
</td>
<td class="nump">635,905<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance - February 29, 2024 at Feb. 28, 2023</a></td>
<td class="nump">$ 157,421<span></span>
</td>
<td class="nump">9,566,898<span></span>
</td>
<td class="nump">4,909,639<span></span>
</td>
<td class="nump">14,633,958<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Feb. 28, 2023</a></td>
<td class="nump">15,742,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">203,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">203,577<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Cashless exercise of stock options</a></td>
<td class="nump">$ 88<span></span>
</td>
<td class="num">(88)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_CashlessExerciseOfStockOptionsShares', window );">Cashless exercise of stock options, shares</a></td>
<td class="nump">8,807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,441,463<span></span>
</td>
<td class="nump">1,441,463<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance - February 29, 2024 at Feb. 29, 2024</a></td>
<td class="nump">$ 157,509<span></span>
</td>
<td class="nump">$ 9,770,387<span></span>
</td>
<td class="nump">$ 6,351,102<span></span>
</td>
<td class="nump">$ 16,278,998<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Feb. 29, 2024</a></td>
<td class="nump">15,750,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_CashlessExerciseOfStockOptionsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_CashlessExerciseOfStockOptionsShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368732768">
<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>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>CASH FLOWS FROM OPERATING ACTIVITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="nump">$ 1,441,463<span></span>
</td>
<td class="nump">$ 635,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">597,166<span></span>
</td>
<td class="nump">510,868<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock based compensation expense</a></td>
<td class="nump">203,577<span></span>
</td>
<td class="nump">256,740<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_AccountsReceivableReserve', window );">Accounts receivable reserve</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(43,898)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLIFOReservePeriodCharge', window );">Inventory reserve</a></td>
<td class="nump">47,875<span></span>
</td>
<td class="nump">4,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="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Unrealized (gain) loss on marketable securities</a></td>
<td class="num">(32,360)<span></span>
</td>
<td class="nump">33,119<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax asset, net</a></td>
<td class="num">(442,210)<span></span>
</td>
<td class="num">(512,337)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract', window );"><strong>(Increase) Decrease in:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">163,155<span></span>
</td>
<td class="num">(497,463)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(2,026,946)<span></span>
</td>
<td class="num">(874,531)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="nump">46,308<span></span>
</td>
<td class="nump">69,258<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract', window );"><strong>(Decrease) Increase in:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">238,879<span></span>
</td>
<td class="nump">126,352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">312,032<span></span>
</td>
<td class="num">(376,582)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_IncreaseDecreaseInCustomerDeposit', window );">Customer deposits</a></td>
<td class="nump">581,541<span></span>
</td>
<td class="nump">1,670,197<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable', window );">Income taxes payable</a></td>
<td class="nump">33,386<span></span>
</td>
<td class="nump">322,547<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net Cash Provided by Operating Activities</a></td>
<td class="nump">1,163,866<span></span>
</td>
<td class="nump">1,325,039<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>CASH FLOWS FROM INVESTING ACTIVITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of equipment, furnishings and leasehold improvements</a></td>
<td class="num">(794,690)<span></span>
</td>
<td class="num">(555,867)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_SaleOfMarketableSecurities', window );">Sale of marketable securities</a></td>
<td class="nump">20,237,051<span></span>
</td>
<td class="nump">14,329,159<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireMarketableSecurities', window );">Purchase of marketable securities</a></td>
<td class="num">(21,826,042)<span></span>
</td>
<td class="num">(16,584,288)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net Cash Used In Investing Activities</a></td>
<td class="num">(2,383,681)<span></span>
</td>
<td class="num">(2,810,996)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">NET (DECREASE) IN CASH AND CASH EQUIVALENTS</a></td>
<td class="num">(1,219,815)<span></span>
</td>
<td class="num">(1,485,957)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Beginning of year</a></td>
<td class="nump">3,354,601<span></span>
</td>
<td class="nump">4,840,558<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">End of year</a></td>
<td class="nump">2,134,786<span></span>
</td>
<td class="nump">3,354,601<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental Cash Flow Disclosure:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest Paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income Taxes Paid</a></td>
<td class="nump">$ 712,092<span></span>
</td>
<td class="nump">$ 363,590<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_AccountsReceivableReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_AccountsReceivableReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_sotk_IncreaseDecreaseInCustomerDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_IncreaseDecreaseInCustomerDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_sotk_SaleOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_SaleOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingAssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOperatingLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryLIFOReservePeriodCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLIFOReservePeriodCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MarketableSecuritiesUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment in marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for purchase of marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659280447456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_InsiderTradingArrLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276002144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BUSINESS DESCRIPTION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">BUSINESS DESCRIPTION</a></td>
<td class="text"><p id="xdx_801_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zInwJH74ZOg3" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 1: <span id="xdx_82D_zyFZLr2OegTb">BUSINESS DESCRIPTION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sono-Tek Corporation (the &#8220;Company&#8221;, &#8220;Sono-Tek&#8221;,
&#8220;We&#8221; or &#8220;Our&#8221;) was incorporated in New York on March 21, 1975. We are the world leader in the design and manufacture
of ultrasonic coating systems for applying precise, thin film coatings to add functional properties, protect or strengthen surfaces on
parts and components for the microelectronics/electronics, alternative energy, medical, industrial and emerging research &amp; development/other
markets. We design and manufacture custom-engineered ultrasonic coating systems incorporating our patented technology, in combination
with strong applications engineering knowledge, to assist our customers in achieving their desired coating solutions.</p>

<p style="font: 11pt Cambria,serif; 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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659274747408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zt4KiOy1b0V8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 2: <span id="xdx_820_zTSiuVN2YIba">SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_843_eus-gaap--AdvertisingCostsPolicyTextBlock_z0x3thMIHSlk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_865_zDYgE9GnRRdi">Advertising Expenses</span></i></b><i> - </i>The Company expenses the
cost of advertising in the period in which the advertising takes place. Advertising expense for fiscal 2024 and fiscal 2023 was $<span id="xdx_90E_eus-gaap--AdvertisingExpense_c20230301__20240229_pp0p0" title="Advertising expense">371,000</span>
and $<span id="xdx_909_eus-gaap--AdvertisingExpense_c20220301__20230228_pp0p0" title="Advertising expense">297,500</span>, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_848_eus-gaap--ReceivablesPolicyTextBlock_z0xFhwWLHMmk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z3OqexRZVbJc">Accounts Receivable, net</span> - </i></b>In the normal course of business,
the Company extends credit to customers. Accounts receivable, less an allowance for credit losses, reflect the net realizable value of
receivables and approximate fair value. The Company records a bad debt expense/allowance based on management&#8217;s estimate of uncollectible
accounts. All outstanding accounts receivable accounts are reviewed for collectability on an individual basis.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zjzbAQCGjLd2" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zKamVy0xydr5">Cash and Cash Equivalents</span></i></b><i> - </i>Cash and cash equivalents
consist of money market mutual funds, short term commercial paper and short-term certificates of deposit with original maturities of 90
days or less. At February 29, 2024, the Company had $<span id="xdx_908_eus-gaap--CashUninsuredAmount_c20240229_pp0p0" title="Cash in excess of the FDIC insured limit">1,819,000</span> of cash in excess of the FDIC insured limit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_84C_eus-gaap--ConsolidationPolicyTextBlock_zGZyxLT0iqpl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_zaJEJfk9Nod4">Consolidation</span></i></b> - The accompanying consolidated financial
statements of the Company include the accounts of the Company and its wholly owned subsidiary, Sono-Tek Industrial Park, LLC (&#8220;SIP&#8221;)
in conformity with generally accepted accounting principles in the United States (&#8220;GAAP&#8221;). SIP operates as a real estate holding
company for the Company&#8217;s real estate operations. All intercompany accounts and transactions have been eliminated in consolidation.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_zmEROVYxSWLl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zxRQPlxEtjZ7">Earnings Per Share</span></i></b><i> - </i>Basic earnings per share
(&#8220;EPS&#8221;) is computed by dividing net income by the weighted-average number of common shares outstanding for the period. Diluted
EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted
into common stock under the treasury stock method.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_840_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zAp0f73Yx3j7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z9jkXTrC3Ku2">Equipment, Furnishings and Leasehold Improvements</span></i></b> -
Equipment, furnishings and leasehold improvements are stated at cost. Depreciation of equipment and furnishings is computed by use of
the straight-line method based on the estimated useful lives of the assets, which range from three <span id="xdx_90D_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MinimumMember_zdFRgdNUXDyh" style="display: none" title="Estimated useful lives">3</span> to five <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MaximumMember_z2Q7sDLdyi9a" style="display: none" title="Estimated useful lives">5</span> years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_843_eus-gaap--FairValueOfFinancialInstrumentsPolicy_z51WxAQrRr3i" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zgUuZXo87z4b">Fair Value of Financial Instruments</span> -</i></b> The Company applies
Accounting Standards Codification (&#8220;ASC&#8221;) 820,&#160;<i>Fair Value Measurement&#160;</i>(&#8220;ASC 820&#8221;), which establishes
a framework for measuring fair value and clarifies the definition of fair value within that framework. ASC 820 defines fair value as an
exit price, which is the price that would be received for an asset or paid to transfer a liability in the Company&#8217;s principal or
most advantageous market in an orderly transaction between market participants on the measurement date. The fair value hierarchy established
in ASC 820 generally requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring
fair value. Observable inputs reflect the assumptions that market participants would use in pricing the asset or liability and are developed
based on market data obtained from sources independent of the reporting entity. Unobservable inputs reflect the entity&#8217;s own assumptions
based on market data and the entity&#8217;s judgments about the assumptions that market participants would use in pricing the asset or
liability and are to be developed based on the best information available in the circumstances.</p>




<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The carrying amounts of financial instruments reported in the accompanying
consolidated financial statements for current assets and current liabilities approximate the fair value because of the immediate or short-term
maturities of the financial instruments.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The valuation hierarchy is composed of three levels. The classification
within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement. The levels within
the valuation hierarchy are described below:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 1 &#8212; Assets and liabilities with unadjusted, quoted prices
listed on active market exchanges. Inputs to the fair value measurement are observable inputs, such as quoted prices in active markets
for identical assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 2 &#8212; Inputs to the fair value measurement are determined
using prices for recently traded assets and liabilities with similar underlying terms, as well as direct or indirect observable inputs,
such as interest rates and yield curves that are observable at commonly quoted intervals.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 3 &#8212; Inputs to the fair value measurement are unobservable
inputs, such as estimates, assumptions, and valuation techniques when little or no market data exists for the assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span id="xdx_8B5_zciYqDdtlR97" style="display: none">Schedule of significant accounting policies - fair values of financial assets of the company</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 1</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 2</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 3</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 39%; padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 29, 2024</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0401">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0403">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">7,361,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">729,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0411">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">8,090,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_zF0Yvq2oFsv7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">Marketable Securities include certificates
of deposit and US Treasury securities, totaling $<span id="xdx_90F_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable securities">9,711,351</span> and $<span id="xdx_90D_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable securities">8,090,000</span> that are considered to be highly liquid and easily tradeable
as of February 29, 2024 and February 28, 2023, respectively. US Treasury securities are valued using inputs observable in active markets
for identical securities and are therefore classified as Level&#160;1 and certificates of deposit are classified as Level 2 within the
Company&#8217;s fair value hierarchy. The Company&#8217;s marketable securities are considered to be trading securities as defined under
ASC 320 &#8220;Investments &#8211; Debt and Equity Securities.&#8221;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_zEskRxnGFOzb" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zd8aot8i1jCh">Income Taxes</span></i></b> - The Company accounts for income taxes
under the asset and liability method. Under this method, deferred income taxes are recognized for the tax consequences of "temporary
differences" by applying enacted statutory tax rates applicable to future years to differences between the financial statement carrying
amounts and the tax basis of existing assets and liabilities. If it is more likely than not that some portion or all of a deferred tax
asset will not be realized, a valuation allowance is recognized. The Company uses a recognition threshold and a measurement attribute
for financial statement recognition and measurement of tax positions taken or expected to be taken in a return. For those benefits to
be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of February 29,
2024 and February 28, 2023, there were <span id="xdx_903_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20240229_zpzypoYbG6v3" title="Uncertain tax positions"><span id="xdx_90C_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20230228_zVEfh0TGTX34" title="Uncertain tax positions">no</span></span> uncertain tax positions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_848_eus-gaap--IntangibleAssetsFiniteLivedPolicy_zw1O0WcoMlt1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_86C_zbGPY5mw8val"><b><i>Intangible
Assets</i></b></span><i> - </i>Include costs of patent applications which are deferred and charged to operations over seventeen <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--DomesticPatentsMember_zP5TKsFTRaG1">17
</span>years for domestic patents and twelve <span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ForeignPatentsMember_zPC6GvkRuzT5">12
</span>years for foreign patents, which is considered the useful life. Amortization expense for
the years ended February 29, 2024 and February&#160;28, 2023 was $<span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_c20230301__20240229_zLwtKqFN3ei8" title="Amortization expense">16,434</span> and $<span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_c20220301__20230228_zZ0O8GpEw7sf" title="Amortization expense">18,814</span>, respectively. The accumulated amortization
of patents is $<span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20240229_pp0p0">212,861</span> and $<span id="xdx_906_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20230228_pp0p0">202,681
</span>at February 29, 2024 and February 28, 2023, respectively. Annual amortization expense of such intangible assets is expected to
be approximately $<span id="xdx_909_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c20240229_pp0p0">16,000</span> per
year for the next five years.</p>




<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_z3KOsofcF4Yf" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_zfaNS03uxihh">Inventories</span></i></b><i> - </i>Inventories are stated at the lower
of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method for raw materials, subassemblies and work-in-progress
and the specific identification method for finished goods. Management compares the cost of inventory with the net realizable value and,
if applicable, an allowance is made for writing down the inventory to its net realizable value, if lower than cost. On an ongoing basis,
inventory is reviewed for potential write-down for estimated obsolescence or unmarketable inventory based upon forecasts for future demand
and market conditions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_846_ecustom--LandAndBuildingsPolicyTextBlock_zmpaxMqkvFf6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86C_zPxT3S0TSIV6">Land and Buildings</span> - </i></b>Land and buildings are stated at
cost. Buildings are being depreciated by use of the straight-line method based on an estimated useful life of <span id="xdx_90F_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229_zVagnxydOBE3" style="display: none" title="Estimated useful lives">40</span> forty years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 29, 2024 and February 28, 2023, the Company had Land,
stated at cost of $<span id="xdx_903_eus-gaap--Land_c20240229_pp0p0" title="Land">250,000</span>.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_846_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zxSCJhx7l2L4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zY8Uvs0TsEc6">Long-Lived Assets</span></i></b><i> - </i>The Company periodically
evaluates the carrying value of long-lived assets, including intangible assets, when events and circumstances warrant such a review. The
carrying value of a long-lived asset is considered impaired when the anticipated undiscounted cash flow from such asset is separately
identifiable and is less than its carrying value. In that event, a loss is recognized based on the amount by which the carrying value
exceeds the fair market value of the long-lived asset. Fair market value is determined primarily using the anticipated cash flows discounted
at a rate commensurate with the risk involved. <span id="xdx_90E_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20230301__20240229_zVroh8d3w8q9" title="Impairment losses"><span id="xdx_90B_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20220301__20230228_zf2TZdFINJbi" title="Impairment losses">No</span></span> impairment losses were identified or recorded for the years ended February 29, 2024
and February 28, 2023 on the Company&#8217;s long-lived assets.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_848_eus-gaap--UseOfEstimates_z4xezaCORxxc" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zEK5rdj0YbNa">Management Estimates</span></i></b><i> - </i>The preparation of the
consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported
amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements
and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p id="xdx_84B_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zdmQ7pdJK184" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zKz25FibKKj4">New Accounting Pronouncements</span> </i></b>&#8211; In June 2016,
the FASB issued ASU 2016-13 - Financial Instruments-Credit Losses-Measurement of Credit Losses on Financial Instruments. Codification
Improvements to Topic 326, Financial Instruments &#8211; Credit Losses, have been released in November 2018 (2018-19), November 2019 (2019-10
and 2019-11) and a January 2020 Update (2020-02) that provided additional guidance on this Topic. This guidance replaces the current incurred
loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable
and supportable information to inform credit loss estimates. For SEC filers meeting certain criteria, the amendments in this ASU are effective
for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. For SEC filers that meet the criteria
of a smaller reporting company (including this Company) and for non-SEC registrant public companies and other organizations, the amendments
in this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2022. Early adoption
will be permitted for all organizations for fiscal years, and interim periods within those fiscal years, beginning after December 15,
2019. The Company has adopted ASU 2016-13 as updated and the adoption of this guidance did not have a material impact on the Company&#8217;s
consolidated financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Recent Accounting Pronouncements Not Yet Adopted</i></b> -
In December 2023, the FASB issued ASU 2023-09, <i>Improvements to Income Tax Disclosures. </i>This ASU requires greater disaggregation
of information about a reporting entity&#8217;s effective tax rate reconciliation as well as information on income taxes paid. This ASU
applies to all entities subject to income taxes and is intended to help investors better understand an entity&#8217;s exposure to potential
changes in jurisdictional tax legislation and assess income tax information that affects cash flow forecasts and capital allocation decisions.
This ASU is effective for annual periods beginning after December 15, 2024, with early adoption permitted. This ASU should be applied
on a prospective basis although retrospective application is permitted. The Company is currently evaluating the impact the adoption of
this ASU will have on its consolidated financial statements and related disclosures.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In November 2023, the FASB issued ASU 2023-07, <i>Segment Reporting</i> (Topic 280): Improvements
to Reportable Segment Disclosures. The amendments in this ASU require disclosures, on an annual and interim basis, of significant segment
expenses that are regularly provided to the chief operating officer decision maker (&#8220;CODM&#8221;), as well as the aggregate amount
of other segment items included in the reported measure of segment profit or loss. The ASU requires that a public entity disclose the
title and position of the CODM and an explanation of how the CODM uses the reported measure(s) of segment profit or loss in assessing
segment performance and deciding how to allocate resources. Public entities will be required to provide all annual disclosures currently
required by Topic 280 in interim periods, and entities with a single reportable segment are required to provide all the disclosures required
by the amendments in this ASU and existing segment disclosures in Topic 280. This ASU is effective for fiscal years beginning after December
15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments in
this ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company is currently evaluating
the impact of this standard on its consolidated financial statements and related disclosures, and does not expect the standard will have
a material impact on the Company&#8217;s consolidated financial statements and related disclosures.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p id="xdx_844_eus-gaap--StandardProductWarrantyPolicy_zKNRssTEJRG1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_869_zxjnWZTgRpK8">Product Warranty</span></i></b> - Expected future product warranty
expense is recorded when revenue is recognized for product sales.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_843_eus-gaap--ResearchAndDevelopmentExpensePolicy_zWZK5Ylxz0H7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_z9CIZm8nFEok">Research and Product Development Expenses</span></i></b><i> - </i>Research
and product development expenses represent engineering and other expenditures incurred for developing new products, for refining the Company's
existing products and for developing systems to meet unique customer specifications for potential orders or for new industry applications
and are expensed as incurred.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, the Company spent approximately
$<span id="xdx_902_eus-gaap--OtherResearchAndDevelopmentExpense_c20230301__20240229_pp0p0" title="Research and development expenses">2,886,000</span> and $<span id="xdx_90E_eus-gaap--OtherResearchAndDevelopmentExpense_c20220301__20230228_pp0p0" title="Research and development expenses">2,149,000</span>, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_844_eus-gaap--RevenueRecognitionPolicyTextBlock_zAYyIuXGhImi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_z4NbTUE1E4n6">Revenue Recognition</span> -</i></b> The Company recognizes revenue
in accordance with ASC 606, Revenue from Contracts with Customers, the core principle of which is that an entity should recognize revenue
to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the entity expects
to be entitled to receive in exchange for those goods or services. To determine revenue recognition for arrangements that the Company
determines are within the scope of ASC 606, the Company performs the following five steps:</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 24px; font-family: Cambria,serif">&#160;</td>
    <td style="width: 24px; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the contract, or contracts, with a customer</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Determination of the transaction price</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Allocation of the transaction price to the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Recognition of revenue when, or as, performance obligations are satisfied</td></tr>
  </table>
<p style="font: 10pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_84C_eus-gaap--ShareBasedCompensationForfeituresPolicyTextBlock_zqIYinBPLSvh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zLlzKmYMJuKa">Stock-Based Compensation</span></i></b> - The Company currently uses
a Black-Scholes option pricing model to calculate the fair value of its stock options. The fair value of each option is estimated on the
date of grant based on the Black-Scholes options-pricing model utilizing certain assumptions for a risk free interest rate; volatility;
and expected lives of the awards. The Company primarily uses historical data to determine the assumptions to be used in the Black-Scholes
model. The assumptions used in calculating the fair value of share-based payment awards represent management&#8217;s best estimates, but
these estimates involve inherent uncertainties and the application of management judgment.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">ASC 718 requires the recognition of the fair value of stock compensation
expense to be recognized over the vesting term of such award. The Company accounts for forfeitures as they occur.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276105328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE RECOGNITION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_DisclosureRevenueRecognitionAbstract', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">REVENUE RECOGNITION</a></td>
<td class="text"><p id="xdx_802_eus-gaap--RevenueFromContractWithCustomerTextBlock_zy3RVNEBN3of" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 3: <span id="xdx_822_zus0sZleCTp2">REVENUE RECOGNITION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s sales revenue is derived primarily from short
term contracts with customers, which, on average, are in effect for less than twelve months. Sales revenue from manufactured equipment
transferred at a single point in time accounts for a majority of the Company&#8217;s revenue.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Sales revenue is recognized when control of the Company&#8217;s manufactured
equipment is transferred to its customers in an amount that reflects the consideration the Company expects to receive based upon the agreed
transaction price. The Company&#8217;s performance obligations are satisfied when its customers take control of the purchased equipment,
in accordance with the contract terms. Based on prior experience, the Company reasonably estimates its sales returns and warranty reserves.
Sales are presented net of discounts and allowances. Discounts and allowances are determined when a transaction is negotiated. The Company
does not grant its customers or independent representatives the ability to return equipment nor does it grant price adjustments after
a sale is complete.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company does not capitalize any sales commission costs related
to the acquisition of a contract. All commissions related to a performance obligation that are satisfied at a point in time are expensed
when the customer takes control of the purchased equipment and revenue is recognized.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company applies the practical expedient in paragraph ASC 606-10-50-14
and does not disclose information about remaining performance obligations that have original expected durations of one-year or less.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 29, 2024, the Company had received $<span id="xdx_904_ecustom--CashDeposits_c20240229_pp0p0" title="Cash deposits">3,420,000</span> in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $<span id="xdx_90D_eus-gaap--LineOfCredit_c20240229_pp0p0" title="Letter of credit">72,000</span> to secure these cash deposits.
At February 29, 2024, the Company was utilizing $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20230301__20240229_pp0p0" title="Line of credit collateral amount">72,000</span> of its available credit line to collateralize these letters of credit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 28, 2023, the Company had received $<span id="xdx_906_ecustom--CashDeposits_c20230228_pp0p0" title="Cash deposits">2,838,000</span> in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $<span id="xdx_90B_eus-gaap--LineOfCredit_c20230228_pp0p0" title="Letter of credit">145,000</span> to secure these cash deposits.
At February 28, 2023, the Company was utilizing $<span id="xdx_909_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20220301__20230228_pp0p0" title="Line of credit collateral amount">145,000</span> of its available credit line to collateralize these letters of credit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_89B_eus-gaap--ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_zkluOALmvjfd" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s sales revenue, by product line is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B9_z73Ew3dBNF4" style="display: none">Schedule of revenue recognition - sales revenue by product line</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Twelve Months Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 44%; text-align: left">Fluxing Systems</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue">724,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_906_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent">4%</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue">1,179,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_903_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent">8%</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Integrated Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">2,889,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent">14%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_909_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent">7%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Multi-Axis Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">10,075,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent">51%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">6,785,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent">45%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">OEM Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">1,533,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90C_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent">8%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">2,144,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent">14%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue">4,479,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_904_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent">23%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue">3,836,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent">26%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">TOTAL</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue">19,700,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue">15,058,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_z9xRCqJsyspg" style="font: 11pt Cambria,serif; 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_sotk_DisclosureRevenueRecognitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_DisclosureRevenueRecognitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276103984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">STOCK-BASED COMPENSATION</a></td>
<td class="text"><p id="xdx_801_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zQ3pl4tFAc2e" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 4: <span id="xdx_828_z8yGPXtLPjdh">STOCK-BASED COMPENSATION</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Stock Options</i></b> &#8211; In May 2023, the Company&#8217;s
Board of Directors authorized the creation of the 2023 Stock Incentive Plan (the &#8220;2023 Plan&#8221;) pursuant to which the Company
may grant up to <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Number of shares available for purchase">2,500,000</span> options or shares to officers, directors, employees and consultants of the Company and its subsidiaries. The
Company&#8217;s shareholders approved the adoption of the 2023 Plan in August 2023. The 2023 Plan replaced the 2013 Stock Incentive Plan
(the &#8220;2013 Plan&#8221;) under which no additional options or shares could be granted after June 2023. There are currently <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options outstanding">65,793</span>
and <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandThirteenStockIncentivePlanMember_pdd" title="Options outstanding">229,749</span> options outstanding, respectively, under the 2023 Plan and the 2013 Plan.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Under the 2023 Stock Incentive Plan, as amended (the "2023 Plan"),
options can be granted to officers, directors, consultants and employees of the Company and its subsidiaries to purchase up to <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options granted">2,500,000</span>
shares of the Company's common stock. Under the 2023 Plan options expire ten <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_zjQA03Ic3yY4" style="display: none" title="Options, expiration period">10</span> years after the date of grant.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">During fiscal 2024, the Company granted options to
acquire <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted">54,813</span>
shares to employees exercisable at prices ranging from $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price">4.79</span>
to $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price">5.60</span>
and options to acquire <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted">18,380</span>
shares to the non-employee members of the board of directors with an exercise price of $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price">4.79</span>.
The options granted to employees and directors vest over three <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_znKnmVEcz8re" style="display: none" title="Options, vesting period">3</span> years and expire in <span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zwEfrFqe8OU4" style="display: none" title="Options, expiration period">10</span>
ten years. The options granted by the Company during fiscal 2024 had a combined weighted average grant date fair value of $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zvGYP56I8O3f" title="Weighted average grant date fair value, per share">3.11</span> per
share.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">During fiscal 2023, the Company granted options to
acquire <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted">28,239</span>
shares to employees exercisable at prices ranging from $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price">5.45</span>
to $<span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price">5.96</span>
and options to acquire <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted">16,500</span>
shares to the non-employee members of the board of directors with an exercise price of $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price">5.50</span>.
The options granted to employees and directors vest over three <span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_z5nxZMdHxhG2" style="display: none" title="Options, vesting period">3</span> years and expire in <span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zdnxqeiTXlVb" style="display: none" title="Options, expiration period">10</span>
ten years. The options granted by the Company during fiscal 2023 had a combined weighted average grant date fair value of $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_pdd" title="Weighted average grant date fair value, per share">3.44</span> per
share.</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p>

<p id="xdx_897_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zdjOTLN71eSh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">A summary of the activity for both plans, for fiscal 2024 and fiscal
2023 is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;<span id="xdx_8B4_zesxg6b60bQ" style="display: none">Stock-based compensation - summary of stock options</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Weighted Average</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Stock Options</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercise Price $</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Remaining</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Term - Years</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; text-align: left">&#160;</td><td style="width: 34%; text-align: left">Balance - February 28, 2022</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220301__20230328_zVyXctzsl8D7" style="width: 10%; text-align: right" title="Stock Options outstanding at beginning of period (in shares)">253,710</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20220301__20230228_zs9mqUVuSTAf" style="width: 10%; text-align: right" title="Stock Options exercisable at beginning of period (in shares)">61,690</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220301__20230228_z317RB2Uve2a" style="width: 10%; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)">4.46</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20220301__20230228_zgmVSg8eJbqg" style="width: 10%; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)">3.53</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210301__20220228_z0UukW3RLK0b" style="width: 10%; text-align: right" title="Weighted average remaining term outstanding">8.94</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228_pdd" style="text-align: right" title="Granted (in shares)">44,739</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228_pdd" style="text-align: right" title="Granted (in dollars per share)">5.71</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220301__20230228_zj1BE5K1e0m2" style="text-align: right" title="Exercised (in shares)">(16,973</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zsmgeBzGL7h6" style="text-align: right" title="Exercised (in dollars per share)">(1.77</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20220301__20230228_zWWUqLehpQUa" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)">(30,717</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zWdmTBfxSAw5" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)">(4.66</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230301__20240329_zWjPAVNtMVuh" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at beginning of period (in shares)">250,759</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20230301__20240229_z93CQi9uIkJi" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at beginning of period (in shares)">133,609</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230301__20240201_zX2F21mIwKrc" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)">4.84</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20230301__20240201_zC8E3R3cXe22" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)">4.62</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220301__20230228_zDUot4KlUhmf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding">8.52</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229_pdd" style="text-align: right" title="Granted (in shares)">73,193</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229_pdd" style="text-align: right" title="Granted (in dollars per share)">5.02</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230301__20240229_zOQAqVfak7Od" style="text-align: right" title="Exercised (in shares)">(19,701</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zRqzSqBeprI1" style="text-align: right" title="Exercised (in dollars per share)">(3.62</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230301__20240229_zEo2xjUgbD8g" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)">(8,709</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zTaRFZT1cmYe" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)">(4.20</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 29, 2024</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230301__20240229_zKSpTLhdK9ec" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at end of period (in shares)">295,542</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230301__20240229_z1CzQRf3JXT4" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at end of period (in shares)">181,376</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230301__20240229_zZl9suRyvWaa" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at end of period (in dollars per share)">4.99</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230301__20240229_zsusx5vKlSEf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at end of period (in dollars per share)">4.89</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230301__20240229_zoLeslkdPMM5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding">8.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_z99IQkiUqGz2" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The aggregate intrinsic value of the Company&#8217;s vested and exercisable
options at February 29, 2024 was $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20240229_zI6zI8BXunk2" title="Aggregate intrinsic value of options outstanding">167,709</span>.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the years ended February 29, 2024 and February 28, 2023 the
Company recognized $<span id="xdx_90E_eus-gaap--ShareBasedCompensation_c20230301__20240229_pp0p0" title="Stock-based compensation expense">203,577</span>
and $<span id="xdx_90D_eus-gaap--ShareBasedCompensation_c20220301__20230228_pp0p0" title="Stock-based compensation expense">256,740</span>
in stock based compensation expense, respectively. Such amounts are included in general and administrative expenses on the
consolidated statements of income. Total compensation expense related to non-vested options not yet recognized as of February 29,
2024 was $<span id="xdx_90B_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_c20240229_pp0p0" title="Compensation expense not yet recognized">298,000</span>
and will be recognized over the next three <span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230301__20240229_ziwPi560zhU3" style="display: none" title="Compensation expense, period for recognition">3</span> years based on vesting date. The amount of future stock option compensation expense
could be affected by any future option grants or by any forfeitures. During the year ended February 29, 2024, the Company had net
settlement exercises of stock options, whereby, the optionee did not pay cash for the options but instead received the number of
shares equal to the difference between the exercise price and the market price on the date of exercise. Net settlement exercises
during the year ended February 29, 2024 resulted in <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230301__20240229_pdd" title="Options cancelled in settlement of shares issued">8,807</span> shares of common stock issued.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Determining the appropriate fair value of the stock-based awards requires
the input of subjective assumptions, including the fair value of the Company&#8217;s common stock, and for stock options, the expected
life of the option, and the expected stock price volatility. The Company uses the Black-Scholes option pricing model to value its stock
option awards. The assumptions used in calculating the fair value of stock-based awards represent management&#8217;s best estimates and
involve inherent uncertainties and the application of management&#8217;s judgment.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The expected term of the options is estimated based on the Company&#8217;s
historical exercise rate. The expected life of awards that vest immediately use the contractual maturity since they are vested when issued.
For stock price volatility, the Company uses its expected volatility of the price of the Company&#8217;s common stock based on historical
activity. The risk-free interest rate is based on U.S. Treasury notes with a term approximating the expected life of the option at the
grant-date.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_893_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_z2cM2FikF8Le" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">The weighted-average fair value of options has been estimated
on the date of grant using the Black-Scholes options-pricing model. The weighted-average Black-Scholes assumptions are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"><span id="xdx_8BC_zO6uBdOpzQj7" style="display: none">Schedule of weighted-average black-scholes assumptions</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="4" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Fiscal Year Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29, <br/> 2024</td><td style="text-align: center; padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="text-align: center; font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28, <br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected life</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zWX8KRnLrstf" title="Expected life (in years)">5</span> - <span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zyUatMKVW7Ej" title="Expected life (in years)">8</span> years</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zlunQfUL1Wv9" title="Expected life (in years)">5</span> - <span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zBFyM2F586Sj" title="Expected life (in years)">8</span> years</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 11pt">Risk free interest rate</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20230301__20240229_pdd" title="Risk free interest rate, minimum">2.82%</span> - <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20230301__20240229_pdd" title="Risk free interest rate, maximum">4.39%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20220301__20230228_pdd" title="Risk free interest rate, minimum">2.82%</span> &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20220301__20230228_pdd" title="Risk free interest rate, maximum">4.02%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected volatility</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20230301__20240229_pdd" title="Expected volatility, minimum">55.02%</span> - <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20230301__20240229_pdd" title="Expected volatility, maximum">62.48%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20220301__20230228_pdd" title="Expected volatility, minimum">55.02%</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20220301__20230228_pdd" title="Expected volatility, maximum">62.01%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left"><span style="font-size: 11pt">Expected dividend yield</span></td><td style="width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20230301__20240229_pdd" title="Expected dividend yield">0%</span></span></td><td style="width: 1%; text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center; width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20220301__20230228_pdd" title="Expected dividend yield">0%</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_z1zV98WwnWnk" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="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>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659386652128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zogKOLBIa6ik" style="font: 11pt Cambria,serif; margin: 0"><b>NOTE 5: <span id="xdx_824_zClfn1Hwf1m6">INVENTORIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p id="xdx_89F_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zXhZ0X9ohFbh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zfnqaepuHHcd" style="display: none">Schedule of inventory, current</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240229_zsqGeVHmmR5j" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zPNWhdkuzp7l" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterials_iI_maIGzsAc_zZ5uSea3x1cc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Raw materials and subassemblies</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,270,567</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,868,689</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InventoryFinishedGoods_iI_maIGzsAc_zGq4SvESbEqk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,785,952</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">613,915</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryWorkInProcess_iI_maIGzsAc_zwFr6sLDNcXj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Work in process</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,165,461</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">760,305</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzsAc_zmpOJvG3926g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,221,980</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,242,909</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zRBb05tzt2Bh" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0">The Company maintains an allowance for slow-moving inventory for raw materials and finished
goods. The recorded allowances at February 29, 2024 and February 28, 2023, totaled $<span id="xdx_901_eus-gaap--InventoryValuationReserves_c20240229_pp0p0" title="Allowance for slow moving inventory">380,400</span> and $<span id="xdx_907_eus-gaap--InventoryValuationReserves_c20230228_pp0p0" title="Allowance for slow moving inventory">332,525</span>, respectively.</p>






<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276030320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zWqBucCqwOE4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 6: <span id="xdx_82F_zg42Bkd9vzgj">BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrAsoVJSdt28" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Buildings, equipment, furnishings and leasehold improvements consist
of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zlS15U1pM809" style="display: none">Buildings, equipment, furnishings and leasehold improvements</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%">Buildings</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals">2,250,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals">2,250,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Laboratory equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,733,911</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,647,951</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,891,345</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,807,817</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals">924,356</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals">789,044</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Tradeshow and demonstration equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,151,899</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,137,346</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals">1,771,084</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals">1,302,545</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Totals</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_c20240229_pp0p0" style="text-align: right" title="Totals">9,722,595</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--PropertyPlantAndEquipmentGross_c20230228_pp0p0" style="text-align: right" title="Totals">8,934,703</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_zhuBznxkNzJh" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation">(6,890,439</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zb0QlZvhgdp1" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation">(6,309,707</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net">2,832,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net">2,624,996</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zdC5VXozA47g" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Depreciation expense for the years ended February 29, 2024 and February
28, 2023 was $<span id="xdx_902_eus-gaap--Depreciation_c20230301__20240229_pp0p0" title="Depreciation Expense">580,732</span> and $<span id="xdx_907_eus-gaap--Depreciation_c20220301__20230228_pp0p0" title="Depreciation Expense">492,055</span>, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659274677456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED EXPENSES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">ACCRUED EXPENSES</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zqwVIyyo1km9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 7: <span id="xdx_828_zUCtqhBpwYy3">ACCRUED EXPENSES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_897_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZJMFbpkzVM1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Accrued expenses consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B8_zEjH6xjARkK3" style="display: none">Accrued expenses</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240229_zs1lEHYrXLFa" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zOuHtzDn9Ws2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maALCzOiN_z4yMt9P9bBmh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Accrued compensation</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">579,757</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">352,619</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProductWarrantyAccrual_iI_pp0p0_maALCzOiN_zYUcRRI5Sgz7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Estimated warranty costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">524,875</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500,650</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccruedPayrollTaxesCurrent_iI_pp0p0_maALCzOiN_zXt9vjWXU1Zc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Accrued sales tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">152,547</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0748">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccruedSalesCommissionCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z12zyaSKs9V4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Accrued commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,771</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">157,927</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedProfessionalFeesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_zjxvP7HKp0Wf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,921</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherAccruedLiabilitiesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z9JAZpAxDBll" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other accrued expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">273,702</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">315,329</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedLiabilitiesCurrent_iTI_pp0p0_mtALCzOiN_ziA9bXgV0CUb" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="color: white; text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,739,478</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,427,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zPkhIIm88BUc" style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659373716400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVOLVING LINE OF CREDIT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTextBlock', window );">REVOLVING LINE OF CREDIT</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--ShortTermDebtTextBlock_z05pBqv0bFF9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 8: <span id="xdx_820_zetQgGQfLC34">REVOLVING LINE OF CREDIT</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company has a $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit"><span id="xdx_90F_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit">1,500,000</span></span> revolving line of credit at prime which
was <span id="xdx_90E_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate">8.50%</span> at February 29, 2024 and <span id="xdx_90C_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate">7.75%</span> at February 28, 2023. The revolving credit line is collateralized by the Company&#8217;s accounts
receivable and inventory. The revolving credit line is payable on demand and must be retired for a 30-day period, once annually. If the
Company fails to perform the 30-day annual pay down or if the bank elects to terminate the credit line, the bank may, at its option, convert
the outstanding balance to a 36-month term note with payments including interest in 36 equal installments.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 29, 2024, $<span id="xdx_903_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers">72,000</span> of the Company&#8217;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expire in April 2024. As of February 29, 2024, there were no outstanding borrowings under the line of credit
and the unused portion of the credit line was $<span id="xdx_903_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line">1,428,000</span>.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">As of February 28, 2023, $<span id="xdx_905_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers">145,000</span> of the Company&#8217;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expired in May and July 2023. As of February 28, 2023, there were no outstanding borrowings under the line
of credit and the unused portion of the credit line was $<span id="xdx_905_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line">1,355,000</span>.</p>






<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for short-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTextBlock</td>
</tr>
<tr>
<td style="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>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275002464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zav0q5hAjrNa" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 9: <span id="xdx_82B_zehOsg1EtBA5">INCOME TAXES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_894_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZWfgbaOOoal" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The annual provision (benefit) for income taxes differs from amounts
computed by applying the maximum U.S. Federal income tax rate of 21% to pre-tax income as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B6_z8jkvGsQ4duj" style="display: none">Income taxes - income tax reconciliation</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 72%; text-align: left">Expected federal income tax</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">366,362</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">165,882</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State tax, net of federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,510</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">37,204</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(161,525</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(127,329</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Permanent differences</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">45,770</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">78,252</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">303,117</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">154,009</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A0_z58rzOYV2WBb" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p id="xdx_890_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zSRnlTXCPlp3" style="font: 11pt Cambria,serif; margin: 0">Components of the current and deferred tax expense are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0"><span id="xdx_8B9_zxzKgncjhRpd" style="display: none">Income taxes - current and deferred tax expense</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230301__20240229_zqwZ5Td9QDk3" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 29,<br/> 2024</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220301__20230228_zCToAzpTgAva" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 28,<br/> 2023</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Current:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCFSALzjUX_zzjQGYI4ZPob" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; width: 55%">Federal</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right">716,003</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right">438,263</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCFSALzjUX_zjox5XNqKak6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">123,743</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">83,525</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtCFSALzjUX_maITEBzHJH_zp2XtK9d8sS8" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total current income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">839,746</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">521,788</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">Deferred:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDFSALzsGL_ztBuSsDBuyU7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Federal</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(471,396</td><td style="font: 11pt Cambria,serif; text-align: left">)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(321,458</td><td style="font: 11pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDFSALzsGL_zk7Fp661ox89" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(65,233</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(46,321</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtDFSALzsGL_maITEBzHJH_zSUnHV6Uo5i7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total deferred income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(536,629</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(367,779</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBzHJH_ziVw1FWxR4P4" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">303,117</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">154,009</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8AF_zVBdJQIuqcZh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In assessing the realizability of deferred tax assets, management
considers whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization
of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences
become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income, and projections
for future taxable income over periods in which the deferred tax assets are deductible. Management believes it is more likely than not
that the Company will realize the benefits of these deductible differences.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The incorporation of the new tax laws for 2023, requires the Company
to capitalize for income tax purposes research and development expenses incurred during the year and for such expenses to be amortized
over a five year period. As a result, a deferred tax asset &#8220;Capitalized R&amp;D expenses &#8211; IRC Section 174&#8221; has been
recorded.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company does not have any uncertain tax positions in 2024. There
are no interest and penalties related to uncertain tax positions in 2024. As of February 29, 2024, open years related to the federal and
state jurisdictions are 2023, 2022 and 2021.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p id="xdx_892_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zbfg78FRZTJi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The deferred tax asset and liability are comprised of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zBJxzWzY1Kxl" style="display: none">Income taxes - deferred tax asset and liability components</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-decoration: underline; text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; text-align: left">Allowance for inventory</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--DeferredTaxAssetsInventory_c20240229_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory">91,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsInventory_c20230228_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory">76,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Allowance for accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20240229_pp0p0" style="text-align: right" title="Allowance for accounts receivable">3,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20230228_pp0p0" style="text-align: right" title="Allowance for accounts receivable">3,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized R&amp;D expenses &#8211; IRC Section 174</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--CapitalizedRdExpensesIrcSection174_iI_pp0p0_c20240229_zehJMdewuu9c" style="text-align: right" title="Capitalized R&amp;D expenses - IRC Section 174">985,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CapitalizedRdExpensesIrcSection174_c20230228_pp0p0" style="text-align: right">441,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accrued expenses and other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20240229_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other">177,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20230228_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other">147,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax asset &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20240229_z0Hj7OqWalQh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax asset - Long Term">1,256,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right">667,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Building and leasehold depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_z8GDKMeMz4z3" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation">(230,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zeq6R43IqdUa" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation">(83,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax liability &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20240229_zMXEK2ITDD58" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax liability - Long Term">(230,000</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20230228_zUxkc9bckBCc" style="border-bottom: Black 2.5pt double; text-align: right">(83,000</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p id="xdx_8A4_zEaQRDnReccj" style="font: 11pt Cambria,serif; 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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276099408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">EARNINGS PER SHARE</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--EarningsPerShareTextBlock_zzsQfEi85scg" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 10: <span id="xdx_823_zPJbDmVJcvDb">EARNINGS PER SHARE</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_890_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJt1zBE57Tdk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following table sets forth the computation of basic and diluted
earnings per share:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zUHPZKuamNA" style="display: none">Schedule of computation of basic and diluted earnings per share</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230301__20240229_zCYbjRInJr4b" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220301__20230228_zmRKPOt6fMul" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--ProfitLoss_zVSr50SSqhfg" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left; padding-bottom: 2.5pt">Numerator for basic and diluted earnings per share</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">1,441,463</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">635,905</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zeOvC2kVC74b" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Denominator for basic earnings per share - weighted average</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,743,763</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,735,451</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DilutiveSecuritiesAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Effects of dilutive securities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_i_pdd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Stock options for employees, directors and outside consultants</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,244</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">34,048</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zc4TKB4TblW6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Denominator for diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">15,774,007</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">15,769,499</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Basic Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.09</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EarningsPerShareDiluted_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Diluted Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.09</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_z7wcKHWfR9ih" style="font: 11pt Cambria,serif; 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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275002464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CUSTOMER CONCENTRATIONS AND FOREIGN SALES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">CUSTOMER CONCENTRATIONS AND FOREIGN SALES</a></td>
<td class="text"><p id="xdx_808_eus-gaap--ConcentrationRiskDisclosureTextBlock_zM4ADTMOmnd4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b>NOTE 11: <span id="xdx_82E_zzHAios122W8">CUSTOMER CONCENTRATIONS AND FOREIGN SALES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_89B_eus-gaap--SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_zNuqH7043FQ8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Export sales to customers located outside the United States and Canada
were approximately as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8BA_zZcF0eCot0i2" style="display: none">Schedule of customer concentrations and foreign sales</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Asia Pacific (APAC)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales">3,268,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales">3,260,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Europe, Middle East, Asia (EMEA)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales">4,333,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales">3,448,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Latin America</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales">1,221,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales">1,546,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales">8,822,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales">8,254,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_zRcKou5XMOOa" style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, sales to foreign customers accounted
for approximately $<span id="xdx_904_eus-gaap--Revenues_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue">8,822,000</span> and $<span id="xdx_901_eus-gaap--Revenues_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue">8,254,000</span>, or <span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent">45%</span> and <span id="xdx_90D_ecustom--SalesRevenuePercent_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent">55%</span> respectively, of total revenues.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">For the fiscal years ended February 29, 2024 and February 28, 2023,
no single customer accounted for more than 10% of the Company&#8217;s revenues.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Two customers accounted for <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_dp_c20230301__20240229__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEPYPM8Nmwm">26</span>%
of the outstanding accounts receivables February 29, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Two customers accounted for <span title="Outstanding accounts receivables, percent"><span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zl4f01nFCZo2" title="Outstanding accounts receivables, percent">28</span>%
of the outstanding accounts receivables at February 28, 2023.</span></p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company had two customers which accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent">14%</span> of sales during
fiscal 2023. Four customers accounted for <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--FourCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent">44%</span> of the outstanding accounts receivables at February 28, 2023.</p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276135392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p id="xdx_800_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z0q8yTvuJde" style="font: 11pt Cambria,serif; margin: 0"><b>NOTE 12: <span id="xdx_82C_zC5a7hUfmmq7">COMMITMENTS AND CONTINGENCIES</span></b></p>

<p style="font: 11pt Cambria,serif; margin: 0"><b>&#160;</b></p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Other than the letters of credit discussed in Notes 3 and 8, the Company did not have any
material commitments or contingencies as of February&#160;29, 2024.</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company is subject, from time to time, to claims by third parties
under various legal disputes. The defense of such claims, or any adverse outcome relating to any such claims, could have a material adverse
effect on the Company&#8217;s liquidity, financial condition, and cash flows. As of February 29, 2024, the Company did not have any pending
legal actions.</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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368964384">
<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>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Expenses</a></td>
<td class="text"><p id="xdx_843_eus-gaap--AdvertisingCostsPolicyTextBlock_z0x3thMIHSlk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_865_zDYgE9GnRRdi">Advertising Expenses</span></i></b><i> - </i>The Company expenses the
cost of advertising in the period in which the advertising takes place. Advertising expense for fiscal 2024 and fiscal 2023 was $<span id="xdx_90E_eus-gaap--AdvertisingExpense_c20230301__20240229_pp0p0" title="Advertising expense">371,000</span>
and $<span id="xdx_909_eus-gaap--AdvertisingExpense_c20220301__20230228_pp0p0" title="Advertising expense">297,500</span>, respectively.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesPolicyTextBlock', window );">Accounts Receivable, net</a></td>
<td class="text"><p id="xdx_848_eus-gaap--ReceivablesPolicyTextBlock_z0xFhwWLHMmk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z3OqexRZVbJc">Accounts Receivable, net</span> - </i></b>In the normal course of business,
the Company extends credit to customers. Accounts receivable, less an allowance for credit losses, reflect the net realizable value of
receivables and approximate fair value. The Company records a bad debt expense/allowance based on management&#8217;s estimate of uncollectible
accounts. All outstanding accounts receivable accounts are reviewed for collectability on an individual basis.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zjzbAQCGjLd2" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zKamVy0xydr5">Cash and Cash Equivalents</span></i></b><i> - </i>Cash and cash equivalents
consist of money market mutual funds, short term commercial paper and short-term certificates of deposit with original maturities of 90
days or less. At February 29, 2024, the Company had $<span id="xdx_908_eus-gaap--CashUninsuredAmount_c20240229_pp0p0" title="Cash in excess of the FDIC insured limit">1,819,000</span> of cash in excess of the FDIC insured limit.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Consolidation</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--ConsolidationPolicyTextBlock_zGZyxLT0iqpl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_zaJEJfk9Nod4">Consolidation</span></i></b> - The accompanying consolidated financial
statements of the Company include the accounts of the Company and its wholly owned subsidiary, Sono-Tek Industrial Park, LLC (&#8220;SIP&#8221;)
in conformity with generally accepted accounting principles in the United States (&#8220;GAAP&#8221;). SIP operates as a real estate holding
company for the Company&#8217;s real estate operations. All intercompany accounts and transactions have been eliminated in consolidation.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_zmEROVYxSWLl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zxRQPlxEtjZ7">Earnings Per Share</span></i></b><i> - </i>Basic earnings per share
(&#8220;EPS&#8221;) is computed by dividing net income by the weighted-average number of common shares outstanding for the period. Diluted
EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted
into common stock under the treasury stock method.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Equipment, Furnishings and Leasehold Improvements</a></td>
<td class="text"><p id="xdx_840_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zAp0f73Yx3j7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_z9jkXTrC3Ku2">Equipment, Furnishings and Leasehold Improvements</span></i></b> -
Equipment, furnishings and leasehold improvements are stated at cost. Depreciation of equipment and furnishings is computed by use of
the straight-line method based on the estimated useful lives of the assets, which range from three <span id="xdx_90D_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MinimumMember_zdFRgdNUXDyh" style="display: none" title="Estimated useful lives">3</span> to five <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MaximumMember_z2Q7sDLdyi9a" style="display: none" title="Estimated useful lives">5</span> years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p id="xdx_843_eus-gaap--FairValueOfFinancialInstrumentsPolicy_z51WxAQrRr3i" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zgUuZXo87z4b">Fair Value of Financial Instruments</span> -</i></b> The Company applies
Accounting Standards Codification (&#8220;ASC&#8221;) 820,&#160;<i>Fair Value Measurement&#160;</i>(&#8220;ASC 820&#8221;), which establishes
a framework for measuring fair value and clarifies the definition of fair value within that framework. ASC 820 defines fair value as an
exit price, which is the price that would be received for an asset or paid to transfer a liability in the Company&#8217;s principal or
most advantageous market in an orderly transaction between market participants on the measurement date. The fair value hierarchy established
in ASC 820 generally requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring
fair value. Observable inputs reflect the assumptions that market participants would use in pricing the asset or liability and are developed
based on market data obtained from sources independent of the reporting entity. Unobservable inputs reflect the entity&#8217;s own assumptions
based on market data and the entity&#8217;s judgments about the assumptions that market participants would use in pricing the asset or
liability and are to be developed based on the best information available in the circumstances.</p>




<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The carrying amounts of financial instruments reported in the accompanying
consolidated financial statements for current assets and current liabilities approximate the fair value because of the immediate or short-term
maturities of the financial instruments.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The valuation hierarchy is composed of three levels. The classification
within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement. The levels within
the valuation hierarchy are described below:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 1 &#8212; Assets and liabilities with unadjusted, quoted prices
listed on active market exchanges. Inputs to the fair value measurement are observable inputs, such as quoted prices in active markets
for identical assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 2 &#8212; Inputs to the fair value measurement are determined
using prices for recently traded assets and liabilities with similar underlying terms, as well as direct or indirect observable inputs,
such as interest rates and yield curves that are observable at commonly quoted intervals.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Level 3 &#8212; Inputs to the fair value measurement are unobservable
inputs, such as estimates, assumptions, and valuation techniques when little or no market data exists for the assets or liabilities.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span id="xdx_8B5_zciYqDdtlR97" style="display: none">Schedule of significant accounting policies - fair values of financial assets of the company</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 1</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 2</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 3</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 39%; padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 29, 2024</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0401">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0403">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">7,361,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">729,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0411">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">8,090,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_zF0Yvq2oFsv7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">Marketable Securities include certificates
of deposit and US Treasury securities, totaling $<span id="xdx_90F_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable securities">9,711,351</span> and $<span id="xdx_90D_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable securities">8,090,000</span> that are considered to be highly liquid and easily tradeable
as of February 29, 2024 and February 28, 2023, respectively. US Treasury securities are valued using inputs observable in active markets
for identical securities and are therefore classified as Level&#160;1 and certificates of deposit are classified as Level 2 within the
Company&#8217;s fair value hierarchy. The Company&#8217;s marketable securities are considered to be trading securities as defined under
ASC 320 &#8220;Investments &#8211; Debt and Equity Securities.&#8221;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_zEskRxnGFOzb" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86B_zd8aot8i1jCh">Income Taxes</span></i></b> - The Company accounts for income taxes
under the asset and liability method. Under this method, deferred income taxes are recognized for the tax consequences of "temporary
differences" by applying enacted statutory tax rates applicable to future years to differences between the financial statement carrying
amounts and the tax basis of existing assets and liabilities. If it is more likely than not that some portion or all of a deferred tax
asset will not be realized, a valuation allowance is recognized. The Company uses a recognition threshold and a measurement attribute
for financial statement recognition and measurement of tax positions taken or expected to be taken in a return. For those benefits to
be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of February 29,
2024 and February 28, 2023, there were <span id="xdx_903_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20240229_zpzypoYbG6v3" title="Uncertain tax positions"><span id="xdx_90C_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20230228_zVEfh0TGTX34" title="Uncertain tax positions">no</span></span> uncertain tax positions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Intangible Assets</a></td>
<td class="text"><p id="xdx_848_eus-gaap--IntangibleAssetsFiniteLivedPolicy_zw1O0WcoMlt1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_86C_zbGPY5mw8val"><b><i>Intangible
Assets</i></b></span><i> - </i>Include costs of patent applications which are deferred and charged to operations over seventeen <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--DomesticPatentsMember_zP5TKsFTRaG1">17
</span>years for domestic patents and twelve <span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ForeignPatentsMember_zPC6GvkRuzT5">12
</span>years for foreign patents, which is considered the useful life. Amortization expense for
the years ended February 29, 2024 and February&#160;28, 2023 was $<span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_c20230301__20240229_zLwtKqFN3ei8" title="Amortization expense">16,434</span> and $<span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_c20220301__20230228_zZ0O8GpEw7sf" title="Amortization expense">18,814</span>, respectively. The accumulated amortization
of patents is $<span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20240229_pp0p0">212,861</span> and $<span id="xdx_906_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20230228_pp0p0">202,681
</span>at February 29, 2024 and February 28, 2023, respectively. Annual amortization expense of such intangible assets is expected to
be approximately $<span id="xdx_909_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c20240229_pp0p0">16,000</span> per
year for the next five years.</p>




<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_z3KOsofcF4Yf" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_zfaNS03uxihh">Inventories</span></i></b><i> - </i>Inventories are stated at the lower
of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method for raw materials, subassemblies and work-in-progress
and the specific identification method for finished goods. Management compares the cost of inventory with the net realizable value and,
if applicable, an allowance is made for writing down the inventory to its net realizable value, if lower than cost. On an ongoing basis,
inventory is reviewed for potential write-down for estimated obsolescence or unmarketable inventory based upon forecasts for future demand
and market conditions.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</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="Show.showAR( this, 'defref_sotk_LandAndBuildingsPolicyTextBlock', window );">Land and Buildings</a></td>
<td class="text"><p id="xdx_846_ecustom--LandAndBuildingsPolicyTextBlock_zmpaxMqkvFf6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86C_zPxT3S0TSIV6">Land and Buildings</span> - </i></b>Land and buildings are stated at
cost. Buildings are being depreciated by use of the straight-line method based on an estimated useful life of <span id="xdx_90F_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229_zVagnxydOBE3" style="display: none" title="Estimated useful lives">40</span> forty years.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">At February 29, 2024 and February 28, 2023, the Company had Land,
stated at cost of $<span id="xdx_903_eus-gaap--Land_c20240229_pp0p0" title="Land">250,000</span>.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-Lived Assets</a></td>
<td class="text"><p id="xdx_846_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zxSCJhx7l2L4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_86A_zY8Uvs0TsEc6">Long-Lived Assets</span></i></b><i> - </i>The Company periodically
evaluates the carrying value of long-lived assets, including intangible assets, when events and circumstances warrant such a review. The
carrying value of a long-lived asset is considered impaired when the anticipated undiscounted cash flow from such asset is separately
identifiable and is less than its carrying value. In that event, a loss is recognized based on the amount by which the carrying value
exceeds the fair market value of the long-lived asset. Fair market value is determined primarily using the anticipated cash flows discounted
at a rate commensurate with the risk involved. <span id="xdx_90E_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20230301__20240229_zVroh8d3w8q9" title="Impairment losses"><span id="xdx_90B_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20220301__20230228_zf2TZdFINJbi" title="Impairment losses">No</span></span> impairment losses were identified or recorded for the years ended February 29, 2024
and February 28, 2023 on the Company&#8217;s long-lived assets.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Management Estimates</a></td>
<td class="text"><p id="xdx_848_eus-gaap--UseOfEstimates_z4xezaCORxxc" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zEK5rdj0YbNa">Management Estimates</span></i></b><i> - </i>The preparation of the
consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported
amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements
and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zdmQ7pdJK184" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_861_zKz25FibKKj4">New Accounting Pronouncements</span> </i></b>&#8211; In June 2016,
the FASB issued ASU 2016-13 - Financial Instruments-Credit Losses-Measurement of Credit Losses on Financial Instruments. Codification
Improvements to Topic 326, Financial Instruments &#8211; Credit Losses, have been released in November 2018 (2018-19), November 2019 (2019-10
and 2019-11) and a January 2020 Update (2020-02) that provided additional guidance on this Topic. This guidance replaces the current incurred
loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable
and supportable information to inform credit loss estimates. For SEC filers meeting certain criteria, the amendments in this ASU are effective
for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. For SEC filers that meet the criteria
of a smaller reporting company (including this Company) and for non-SEC registrant public companies and other organizations, the amendments
in this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2022. Early adoption
will be permitted for all organizations for fiscal years, and interim periods within those fiscal years, beginning after December 15,
2019. The Company has adopted ASU 2016-13 as updated and the adoption of this guidance did not have a material impact on the Company&#8217;s
consolidated financial statements.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>Recent Accounting Pronouncements Not Yet Adopted</i></b> -
In December 2023, the FASB issued ASU 2023-09, <i>Improvements to Income Tax Disclosures. </i>This ASU requires greater disaggregation
of information about a reporting entity&#8217;s effective tax rate reconciliation as well as information on income taxes paid. This ASU
applies to all entities subject to income taxes and is intended to help investors better understand an entity&#8217;s exposure to potential
changes in jurisdictional tax legislation and assess income tax information that affects cash flow forecasts and capital allocation decisions.
This ASU is effective for annual periods beginning after December 15, 2024, with early adoption permitted. This ASU should be applied
on a prospective basis although retrospective application is permitted. The Company is currently evaluating the impact the adoption of
this ASU will have on its consolidated financial statements and related disclosures.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">In November 2023, the FASB issued ASU 2023-07, <i>Segment Reporting</i> (Topic 280): Improvements
to Reportable Segment Disclosures. The amendments in this ASU require disclosures, on an annual and interim basis, of significant segment
expenses that are regularly provided to the chief operating officer decision maker (&#8220;CODM&#8221;), as well as the aggregate amount
of other segment items included in the reported measure of segment profit or loss. The ASU requires that a public entity disclose the
title and position of the CODM and an explanation of how the CODM uses the reported measure(s) of segment profit or loss in assessing
segment performance and deciding how to allocate resources. Public entities will be required to provide all annual disclosures currently
required by Topic 280 in interim periods, and entities with a single reportable segment are required to provide all the disclosures required
by the amendments in this ASU and existing segment disclosures in Topic 280. This ASU is effective for fiscal years beginning after December
15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments in
this ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company is currently evaluating
the impact of this standard on its consolidated financial statements and related disclosures, and does not expect the standard will have
a material impact on the Company&#8217;s consolidated financial statements and related disclosures.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Product Warranty</a></td>
<td class="text"><p id="xdx_844_eus-gaap--StandardProductWarrantyPolicy_zKNRssTEJRG1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_869_zxjnWZTgRpK8">Product Warranty</span></i></b> - Expected future product warranty
expense is recorded when revenue is recognized for product sales.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Product Development Expenses</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ResearchAndDevelopmentExpensePolicy_zWZK5Ylxz0H7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_868_z9CIZm8nFEok">Research and Product Development Expenses</span></i></b><i> - </i>Research
and product development expenses represent engineering and other expenditures incurred for developing new products, for refining the Company's
existing products and for developing systems to meet unique customer specifications for potential orders or for new industry applications
and are expensed as incurred.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">During fiscal 2024 and fiscal 2023, the Company spent approximately
$<span id="xdx_902_eus-gaap--OtherResearchAndDevelopmentExpense_c20230301__20240229_pp0p0" title="Research and development expenses">2,886,000</span> and $<span id="xdx_90E_eus-gaap--OtherResearchAndDevelopmentExpense_c20220301__20230228_pp0p0" title="Research and development expenses">2,149,000</span>, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services.</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_844_eus-gaap--RevenueRecognitionPolicyTextBlock_zAYyIuXGhImi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_867_z4NbTUE1E4n6">Revenue Recognition</span> -</i></b> The Company recognizes revenue
in accordance with ASC 606, Revenue from Contracts with Customers, the core principle of which is that an entity should recognize revenue
to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the entity expects
to be entitled to receive in exchange for those goods or services. To determine revenue recognition for arrangements that the Company
determines are within the scope of ASC 606, the Company performs the following five steps:</p>

<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 11pt">
  <tr style="vertical-align: top">
    <td style="width: 24px; font-family: Cambria,serif">&#160;</td>
    <td style="width: 24px; font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the contract, or contracts, with a customer</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Identification of the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Determination of the transaction price</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Allocation of the transaction price to the performance obligations in the contract</td></tr>
  <tr style="vertical-align: top">
    <td style="font-family: Cambria,serif">&#160;</td>
    <td style="font-family: Cambria,serif"><span style="font-family: Symbol">&#183;</span></td>
    <td style="font-family: Cambria,serif">Recognition of revenue when, or as, performance obligations are satisfied</td></tr>
  </table>
<p style="font: 10pt Cambria,serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--ShareBasedCompensationForfeituresPolicyTextBlock_zqIYinBPLSvh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i><span id="xdx_863_zLlzKmYMJuKa">Stock-Based Compensation</span></i></b> - The Company currently uses
a Black-Scholes option pricing model to calculate the fair value of its stock options. The fair value of each option is estimated on the
date of grant based on the Black-Scholes options-pricing model utilizing certain assumptions for a risk free interest rate; volatility;
and expected lives of the awards. The Company primarily uses historical data to determine the assumptions to be used in the Black-Scholes
model. The assumptions used in calculating the fair value of share-based payment awards represent management&#8217;s best estimates, but
these estimates involve inherent uncertainties and the application of management judgment.</p>






<p style="font: 11pt Cambria,serif; margin: 0">&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">ASC 718 requires the recognition of the fair value of stock compensation
expense to be recognized over the vesting term of such award. The Company accounts for forfeitures as they occur.&#160;</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_LandAndBuildingsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_LandAndBuildingsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="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_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy election for determining cost for share-based payment arrangement by either estimating forfeiture expected to occur or by recognizing effect of forfeiture upon occurrence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (m)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock</td>
</tr>
<tr>
<td style="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_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368810896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Schedule of significant accounting policies - fair values of financial assets of the company</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white">The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"><span id="xdx_8B5_zciYqDdtlR97" style="display: none">Schedule of significant accounting policies - fair values of financial assets of the company</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 1</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 2</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Level 3</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 39%; padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 29, 2024</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0401">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0403">&#8212;</span></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities">9,711,351</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Marketable Securities &#8211; February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">7,361,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">729,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0411">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">8,090,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="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>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275268544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE RECOGNITION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_DisclosureRevenueRecognitionAbstract', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Schedule of revenue recognition - sales revenue by product line</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_zkluOALmvjfd" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The Company&#8217;s sales revenue, by product line is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B9_z73Ew3dBNF4" style="display: none">Schedule of revenue recognition - sales revenue by product line</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Twelve Months Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center">% of total</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 44%; text-align: left">Fluxing Systems</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue">724,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_906_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent">4%</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue">1,179,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_903_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent">8%</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Integrated Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">2,889,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent">14%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_909_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent">7%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Multi-Axis Coating Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">10,075,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent">51%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">6,785,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent">45%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">OEM Systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">1,533,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90C_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent">8%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue">2,144,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent">14%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue">4,479,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_904_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent">23%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue">3,836,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right"><span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent">26%</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">TOTAL</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue">19,700,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue">15,058,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_DisclosureRevenueRecognitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_DisclosureRevenueRecognitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="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>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276089760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Stock-based compensation - summary of stock options</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zdjOTLN71eSh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">A summary of the activity for both plans, for fiscal 2024 and fiscal
2023 is as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify">&#160;<span id="xdx_8B4_zesxg6b60bQ" style="display: none">Stock-based compensation - summary of stock options</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Weighted Average</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Stock Options</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercise Price $</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Remaining</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Outstanding</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Exercisable</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Term - Years</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 0%; text-align: left">&#160;</td><td style="width: 34%; text-align: left">Balance - February 28, 2022</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220301__20230328_zVyXctzsl8D7" style="width: 10%; text-align: right" title="Stock Options outstanding at beginning of period (in shares)">253,710</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20220301__20230228_zs9mqUVuSTAf" style="width: 10%; text-align: right" title="Stock Options exercisable at beginning of period (in shares)">61,690</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220301__20230228_z317RB2Uve2a" style="width: 10%; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)">4.46</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20220301__20230228_zgmVSg8eJbqg" style="width: 10%; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)">3.53</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210301__20220228_z0UukW3RLK0b" style="width: 10%; text-align: right" title="Weighted average remaining term outstanding">8.94</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228_pdd" style="text-align: right" title="Granted (in shares)">44,739</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228_pdd" style="text-align: right" title="Granted (in dollars per share)">5.71</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220301__20230228_zj1BE5K1e0m2" style="text-align: right" title="Exercised (in shares)">(16,973</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zsmgeBzGL7h6" style="text-align: right" title="Exercised (in dollars per share)">(1.77</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20220301__20230228_zWWUqLehpQUa" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)">(30,717</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zWdmTBfxSAw5" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)">(4.66</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 28, 2023</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230301__20240329_zWjPAVNtMVuh" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at beginning of period (in shares)">250,759</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20230301__20240229_z93CQi9uIkJi" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at beginning of period (in shares)">133,609</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230301__20240201_zX2F21mIwKrc" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)">4.84</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20230301__20240201_zC8E3R3cXe22" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)">4.62</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220301__20230228_zDUot4KlUhmf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding">8.52</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229_pdd" style="text-align: right" title="Granted (in shares)">73,193</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229_pdd" style="text-align: right" title="Granted (in dollars per share)">5.02</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: left">Exercised</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230301__20240229_zOQAqVfak7Od" style="text-align: right" title="Exercised (in shares)">(19,701</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zRqzSqBeprI1" style="text-align: right" title="Exercised (in dollars per share)">(3.62</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left">Cancelled</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230301__20240229_zEo2xjUgbD8g" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)">(8,709</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zTaRFZT1cmYe" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)">(4.20</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">Balance - February 29, 2024</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230301__20240229_zKSpTLhdK9ec" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at end of period (in shares)">295,542</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230301__20240229_z1CzQRf3JXT4" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at end of period (in shares)">181,376</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230301__20240229_zZl9suRyvWaa" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at end of period (in dollars per share)">4.99</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230301__20240229_zsusx5vKlSEf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at end of period (in dollars per share)">4.89</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230301__20240229_zoLeslkdPMM5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding">8.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of weighted-average black-scholes assumptions</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_z2cM2FikF8Le" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify">The weighted-average fair value of options has been estimated
on the date of grant using the Black-Scholes options-pricing model. The weighted-average Black-Scholes assumptions are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"><span id="xdx_8BC_zO6uBdOpzQj7" style="display: none">Schedule of weighted-average black-scholes assumptions</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="4" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">Fiscal Year Ended</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29, <br/> 2024</td><td style="text-align: center; padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="text-align: center; font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28, <br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected life</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zWX8KRnLrstf" title="Expected life (in years)">5</span> - <span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zyUatMKVW7Ej" title="Expected life (in years)">8</span> years</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zlunQfUL1Wv9" title="Expected life (in years)">5</span> - <span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zBFyM2F586Sj" title="Expected life (in years)">8</span> years</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 11pt">Risk free interest rate</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20230301__20240229_pdd" title="Risk free interest rate, minimum">2.82%</span> - <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20230301__20240229_pdd" title="Risk free interest rate, maximum">4.39%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20220301__20230228_pdd" title="Risk free interest rate, minimum">2.82%</span> &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20220301__20230228_pdd" title="Risk free interest rate, maximum">4.02%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left"><span style="font-size: 11pt">Expected volatility</span></td><td><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20230301__20240229_pdd" title="Expected volatility, minimum">55.02%</span> - <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20230301__20240229_pdd" title="Expected volatility, maximum">62.48%</span></span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 11pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 11pt"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20220301__20230228_pdd" title="Expected volatility, minimum">55.02%</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20220301__20230228_pdd" title="Expected volatility, maximum">62.01%</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left"><span style="font-size: 11pt">Expected dividend yield</span></td><td style="width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20230301__20240229_pdd" title="Expected dividend yield">0%</span></span></td><td style="width: 1%; text-align: center"><span style="font-size: 11pt">&#160;</span></td><td style="text-align: center; width: 2%"><span style="font-size: 11pt">&#160;</span></td>
    <td style="width: 15%; text-align: center"><span style="font-size: 11pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20220301__20230228_pdd" title="Expected dividend yield">0%</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659386646960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of inventory, current</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zXhZ0X9ohFbh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zfnqaepuHHcd" style="display: none">Schedule of inventory, current</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240229_zsqGeVHmmR5j" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zPNWhdkuzp7l" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterials_iI_maIGzsAc_zZ5uSea3x1cc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Raw materials and subassemblies</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,270,567</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,868,689</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InventoryFinishedGoods_iI_maIGzsAc_zGq4SvESbEqk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,785,952</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">613,915</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryWorkInProcess_iI_maIGzsAc_zwFr6sLDNcXj" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Work in process</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,165,461</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">760,305</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzsAc_zmpOJvG3926g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,221,980</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,242,909</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276093680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Buildings, equipment, furnishings and leasehold improvements</a></td>
<td class="text"><p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrAsoVJSdt28" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Buildings, equipment, furnishings and leasehold improvements consist
of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zlS15U1pM809" style="display: none">Buildings, equipment, furnishings and leasehold improvements</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 29,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center">February 28,</td><td style="font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%">Buildings</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals">2,250,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals">2,250,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Laboratory equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,733,911</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,647,951</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,891,345</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,807,817</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals">924,356</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals">789,044</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Tradeshow and demonstration equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,151,899</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals">1,137,346</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals">1,771,084</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals">1,302,545</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Totals</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_c20240229_pp0p0" style="text-align: right" title="Totals">9,722,595</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--PropertyPlantAndEquipmentGross_c20230228_pp0p0" style="text-align: right" title="Totals">8,934,703</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_zhuBznxkNzJh" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation">(6,890,439</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zb0QlZvhgdp1" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation">(6,309,707</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net">2,832,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net">2,624,996</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276027072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED EXPENSES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued expenses</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZJMFbpkzVM1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Accrued expenses consist of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B8_zEjH6xjARkK3" style="display: none">Accrued expenses</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240229_zs1lEHYrXLFa" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230228_zOuHtzDn9Ws2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maALCzOiN_z4yMt9P9bBmh" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Accrued compensation</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">579,757</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">352,619</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProductWarrantyAccrual_iI_pp0p0_maALCzOiN_zYUcRRI5Sgz7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Estimated warranty costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">524,875</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500,650</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccruedPayrollTaxesCurrent_iI_pp0p0_maALCzOiN_zXt9vjWXU1Zc" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Accrued sales tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">152,547</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0748">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccruedSalesCommissionCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z12zyaSKs9V4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Accrued commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,771</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">157,927</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedProfessionalFeesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_zjxvP7HKp0Wf" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,921</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherAccruedLiabilitiesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z9JAZpAxDBll" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other accrued expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">273,702</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">315,329</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccruedLiabilitiesCurrent_iTI_pp0p0_mtALCzOiN_ziA9bXgV0CUb" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="color: white; text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,739,478</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,427,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659277655168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Income taxes - income tax reconciliation</a></td>
<td class="text"><p id="xdx_894_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZWfgbaOOoal" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The annual provision (benefit) for income taxes differs from amounts
computed by applying the maximum U.S. Federal income tax rate of 21% to pre-tax income as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B6_z8jkvGsQ4duj" style="display: none">Income taxes - income tax reconciliation</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 72%; text-align: left">Expected federal income tax</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">366,362</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">165,882</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State tax, net of federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,510</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">37,204</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(161,525</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(127,329</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Permanent differences</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">45,770</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">78,252</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">303,117</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">154,009</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Income taxes - current and deferred tax expense</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zSRnlTXCPlp3" style="font: 11pt Cambria,serif; margin: 0">Components of the current and deferred tax expense are as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0"><span id="xdx_8B9_zxzKgncjhRpd" style="display: none">Income taxes - current and deferred tax expense</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230301__20240229_zqwZ5Td9QDk3" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 29,<br/> 2024</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220301__20230228_zCToAzpTgAva" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center">February 28,<br/> 2023</td><td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Current:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCFSALzjUX_zzjQGYI4ZPob" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; width: 55%">Federal</td><td style="font: 11pt Cambria,serif; width: 2%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right">716,003</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; width: 1%">&#160;</td>
    <td style="font: 11pt Cambria,serif; width: 1%; text-align: left">$</td><td style="font: 11pt Cambria,serif; width: 12%; text-align: right">438,263</td><td style="font: 11pt Cambria,serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCFSALzjUX_zjox5XNqKak6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">123,743</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">83,525</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtCFSALzjUX_maITEBzHJH_zp2XtK9d8sS8" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total current income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">839,746</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">521,788</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">Deferred:</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDFSALzsGL_ztBuSsDBuyU7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif">Federal</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(471,396</td><td style="font: 11pt Cambria,serif; text-align: left">)</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">(321,458</td><td style="font: 11pt Cambria,serif; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDFSALzsGL_zk7Fp661ox89" style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif; padding-bottom: 1pt">State</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(65,233</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(46,321</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtDFSALzsGL_maITEBzHJH_zSUnHV6Uo5i7" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt">Total deferred income tax</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(536,629</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right">(367,779</td><td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 11pt Cambria,serif">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif">&#160;</td>
    <td style="font: 11pt Cambria,serif; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; text-align: right">&#160;</td><td style="font: 11pt Cambria,serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBzHJH_ziVw1FWxR4P4" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt">Income tax expense</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">303,117</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right">154,009</td><td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Income taxes - deferred tax asset and liability components</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zbfg78FRZTJi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The deferred tax asset and liability are comprised of the following:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B3_zBJxzWzY1Kxl" style="display: none">Income taxes - deferred tax asset and liability components</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-decoration: underline; text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; text-align: left">Allowance for inventory</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--DeferredTaxAssetsInventory_c20240229_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory">91,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsInventory_c20230228_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory">76,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Allowance for accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20240229_pp0p0" style="text-align: right" title="Allowance for accounts receivable">3,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20230228_pp0p0" style="text-align: right" title="Allowance for accounts receivable">3,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized R&amp;D expenses &#8211; IRC Section 174</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--CapitalizedRdExpensesIrcSection174_iI_pp0p0_c20240229_zehJMdewuu9c" style="text-align: right" title="Capitalized R&amp;D expenses - IRC Section 174">985,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CapitalizedRdExpensesIrcSection174_c20230228_pp0p0" style="text-align: right">441,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accrued expenses and other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20240229_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other">177,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20230228_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other">147,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax asset &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20240229_z0Hj7OqWalQh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax asset - Long Term">1,256,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right">667,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Building and leasehold depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_z8GDKMeMz4z3" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation">(230,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zeq6R43IqdUa" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation">(83,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt">Deferred tax liability &#8211; Long Term</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20240229_zMXEK2ITDD58" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax liability - Long Term">(230,000</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20230228_zUxkc9bckBCc" style="border-bottom: Black 2.5pt double; text-align: right">(83,000</td><td style="padding-bottom: 2.5pt; text-align: left">)</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659386652128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computation of basic and diluted earnings per share</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJt1zBE57Tdk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">The following table sets forth the computation of basic and diluted
earnings per share:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8B0_zUHPZKuamNA" style="display: none">Schedule of computation of basic and diluted earnings per share</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230301__20240229_zCYbjRInJr4b" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220301__20230228_zmRKPOt6fMul" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--ProfitLoss_zVSr50SSqhfg" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left; padding-bottom: 2.5pt">Numerator for basic and diluted earnings per share</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">1,441,463</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">635,905</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zeOvC2kVC74b" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td>Denominator for basic earnings per share - weighted average</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,743,763</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,735,451</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DilutiveSecuritiesAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left">Effects of dilutive securities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_i_pdd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Stock options for employees, directors and outside consultants</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,244</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">34,048</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zc4TKB4TblW6" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Denominator for diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">15,774,007</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">15,769,499</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Basic Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.09</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EarningsPerShareDiluted_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="padding-bottom: 2.5pt">Diluted Earnings Per Share &#8211; Weighted Average</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.09</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.04</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276114528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of customer concentrations and foreign sales</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_zNuqH7043FQ8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify">Export sales to customers located outside the United States and Canada
were approximately as follows:</p>

<p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"><span id="xdx_8BA_zZcF0eCot0i2" style="display: none">Schedule of customer concentrations and foreign sales</span></p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 29,<br/> 2024</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td><td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center">February 28,<br/> 2023</td><td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="width: 55%; text-align: left">Asia Pacific (APAC)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales">3,268,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales">3,260,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Europe, Middle East, Asia (EMEA)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales">4,333,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales">3,448,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(230,239,255)">
    <td style="text-align: left; padding-bottom: 1pt">Latin America</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales">1,221,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales">1,546,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales">8,822,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales">8,254,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659389403376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of significant accounting policies - fair values of financial assets of the company (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_PlatformOperatorCryptoAssetLineItems', window );"><strong>Platform Operator, Crypto Asset [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable Securities</a></td>
<td class="nump">$ 9,711,351<span></span>
</td>
<td class="nump">$ 8,090,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_PlatformOperatorCryptoAssetLineItems', window );"><strong>Platform Operator, Crypto Asset [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable Securities</a></td>
<td class="nump">9,711,351<span></span>
</td>
<td class="nump">7,361,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_PlatformOperatorCryptoAssetLineItems', window );"><strong>Platform Operator, Crypto Asset [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable Securities</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">729,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_PlatformOperatorCryptoAssetLineItems', window );"><strong>Platform Operator, Crypto Asset [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable Securities</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_PlatformOperatorCryptoAssetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.FF.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476188/405-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_PlatformOperatorCryptoAssetLineItems</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>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_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</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>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659282550832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 371,000<span></span>
</td>
<td class="nump">$ 297,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashUninsuredAmount', window );">Cash in excess of the FDIC insured limit</a></td>
<td class="nump">$ 1,819,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">40 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable securities</a></td>
<td class="nump">$ 9,711,351<span></span>
</td>
<td class="nump">8,090,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent', window );">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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">16,434<span></span>
</td>
<td class="nump">18,814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-Lived Intangible Assets, Accumulated Amortization</a></td>
<td class="nump">212,861<span></span>
</td>
<td class="nump">202,681<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Five</a></td>
<td class="nump">16,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">250,000<span></span>
</td>
<td class="nump">250,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse', window );">Impairment losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">$ 2,886,000<span></span>
</td>
<td class="nump">$ 2,149,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_DomesticPatentsMember', window );">Domestic Patents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">17 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_ForeignPatentsMember', window );">Foreign Patents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_EquipmentAndFurnishingsMember', window );">Equipment and Furnishings [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_EquipmentAndFurnishingsMember', window );">Equipment and Furnishings [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483385/720-35-55-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashUninsuredAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashUninsuredAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfLongLivedAssetsHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other research and development expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_DomesticPatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_DomesticPatentsMember</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_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_ForeignPatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=sotk_ForeignPatentsMember</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=sotk_EquipmentAndFurnishingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_EquipmentAndFurnishingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659371262256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of revenue recognition - sales revenue by product line (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 19,699,886<span></span>
</td>
<td class="nump">$ 15,058,203<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_FluxingSystemsMember', window );">Fluxing Systems [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 724,000<span></span>
</td>
<td class="nump">$ 1,179,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_IntegratedCoatingSystemsMember', window );">Integrated Coating Systems [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 2,889,000<span></span>
</td>
<td class="nump">$ 1,114,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="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_MultiAxisCoatingSystemsMember', window );">Multi Axis Coating Systems [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 10,075,000<span></span>
</td>
<td class="nump">$ 6,785,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">51.00%<span></span>
</td>
<td class="nump">45.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_OemSystemsMember', window );">Oem Systems [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 1,533,000<span></span>
</td>
<td class="nump">$ 2,144,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="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_OtherProductLineMember', window );">Other Product Line [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 4,479,000<span></span>
</td>
<td class="nump">$ 3,836,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">26.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=sotk_ProductLineMember', window );">Total Product Line [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 19,700,000<span></span>
</td>
<td class="nump">$ 15,058,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_SalesRevenuePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percent of Sales Revenue</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_SalesRevenuePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_srt_ProductOrServiceAxis=sotk_FluxingSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_FluxingSystemsMember</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=sotk_IntegratedCoatingSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_IntegratedCoatingSystemsMember</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=sotk_MultiAxisCoatingSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_MultiAxisCoatingSystemsMember</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=sotk_OemSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_OemSystemsMember</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=sotk_OtherProductLineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_OtherProductLineMember</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=sotk_ProductLineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=sotk_ProductLineMember</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>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659371615584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE RECOGNITION (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_DisclosureRevenueRecognitionAbstract', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_CashDeposits', window );">Cash deposits</a></td>
<td class="nump">$ 3,420,000<span></span>
</td>
<td class="nump">$ 2,838,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Letter of credit</a></td>
<td class="nump">72,000<span></span>
</td>
<td class="nump">145,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCollateralFeesAmount', window );">Line of credit collateral amount</a></td>
<td class="nump">$ 72,000<span></span>
</td>
<td class="nump">$ 145,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_CashDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_CashDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_sotk_DisclosureRevenueRecognitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_DisclosureRevenueRecognitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityCollateralFeesAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the fees associated with providing collateral for the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCollateralFeesAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276641248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation - summary of stock options (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 28, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock Options outstanding at beginning of period (in shares)</a></td>
<td class="nump">250,759<span></span>
</td>
<td class="nump">253,710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Stock Options exercisable at beginning of period (in shares)</a></td>
<td class="nump">133,609<span></span>
</td>
<td class="nump">61,690<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average outstanding at beginning of period (in dollars per share)</a></td>
<td class="nump">$ 4.84<span></span>
</td>
<td class="nump">$ 4.46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average exercisable at beginning of period (in dollars per share)</a></td>
<td class="nump">$ 4.62<span></span>
</td>
<td class="nump">$ 3.53<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining term outstanding</a></td>
<td class="text">8 years 14 days<span></span>
</td>
<td class="text">8 years 6 months 7 days<span></span>
</td>
<td class="text">8 years 11 months 8 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="nump">73,193<span></span>
</td>
<td class="nump">44,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (in dollars per share)</a></td>
<td class="nump">$ 5.02<span></span>
</td>
<td class="nump">$ 5.71<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="num">(19,701)<span></span>
</td>
<td class="num">(16,973)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="num">$ (3.62)<span></span>
</td>
<td class="num">$ (1.77)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Cancelled (in shares)</a></td>
<td class="num">(8,709)<span></span>
</td>
<td class="num">(30,717)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Cancelled (in dollars per share)</a></td>
<td class="num">$ (4.20)<span></span>
</td>
<td class="num">$ (4.66)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock Options outstanding at end of period (in shares)</a></td>
<td class="nump">295,542<span></span>
</td>
<td class="nump">250,759<span></span>
</td>
<td class="nump">253,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Stock Options exercisable at end of period (in shares)</a></td>
<td class="nump">181,376<span></span>
</td>
<td class="nump">133,609<span></span>
</td>
<td class="nump">61,690<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average outstanding at end of period (in dollars per share)</a></td>
<td class="nump">$ 4.99<span></span>
</td>
<td class="nump">$ 4.84<span></span>
</td>
<td class="nump">$ 4.46<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average exercisable at end of period (in dollars per share)</a></td>
<td class="nump">$ 4.89<span></span>
</td>
<td class="nump">$ 4.62<span></span>
</td>
<td class="nump">$ 3.53<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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659279451600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of weighted-average black-scholes assumptions (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk free interest rate, minimum</a></td>
<td class="nump">2.82%<span></span>
</td>
<td class="nump">2.82%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk free interest rate, maximum</a></td>
<td class="nump">4.39%<span></span>
</td>
<td class="nump">4.02%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Expected volatility, minimum</a></td>
<td class="nump">55.02%<span></span>
</td>
<td class="nump">55.02%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility, maximum</a></td>
<td class="nump">62.48%<span></span>
</td>
<td class="nump">62.01%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life (in years)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">8 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659279390816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 28, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="nump">295,542<span></span>
</td>
<td class="nump">250,759<span></span>
</td>
<td class="nump">253,710<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted</a></td>
<td class="nump">73,193<span></span>
</td>
<td class="nump">44,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options, exercisable price</a></td>
<td class="nump">$ 5.02<span></span>
</td>
<td class="nump">$ 5.71<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value of options outstanding</a></td>
<td class="nump">$ 167,709<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">203,577<span></span>
</td>
<td class="nump">$ 256,740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Compensation expense not yet recognized</a></td>
<td class="nump">$ 298,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Compensation expense, period for recognition</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Options cancelled in settlement of shares issued</a></td>
<td class="nump">8,807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted</a></td>
<td class="nump">54,813<span></span>
</td>
<td class="nump">28,239<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options, exercisable price</a></td>
<td class="nump">$ 4.79<span></span>
</td>
<td class="nump">$ 5.45<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options, exercisable price</a></td>
<td class="nump">$ 5.60<span></span>
</td>
<td class="nump">$ 5.96<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=sotk_NonEmployeeDirectorsStockOptionMember', window );">Non-Employee Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted</a></td>
<td class="nump">18,380<span></span>
</td>
<td class="nump">16,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options, exercisable price</a></td>
<td class="nump">$ 4.79<span></span>
</td>
<td class="nump">$ 5.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=sotk_EmployeesAndDirectorsMember', window );">Employee and Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options, expiration period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1', window );">Options, vesting period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, per share</a></td>
<td class="nump">$ 3.11<span></span>
</td>
<td class="nump">$ 3.44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=sotk_TwoThousandTwentyThreeStockIncentivePlanMember', window );">the &#147;2023 Plan&#148; [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares available for purchase</a></td>
<td class="nump">2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="nump">65,793<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted</a></td>
<td class="nump">2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options, expiration period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=sotk_TwoThousandThirteenStockIncentivePlanMember', window );">the "2013 Plan" [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="nump">229,749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=sotk_NonEmployeeDirectorsStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=sotk_NonEmployeeDirectorsStockOptionMember</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_AwardTypeAxis=sotk_EmployeesAndDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=sotk_EmployeesAndDirectorsMember</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_PlanNameAxis=sotk_TwoThousandTwentyThreeStockIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=sotk_TwoThousandTwentyThreeStockIncentivePlanMember</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_PlanNameAxis=sotk_TwoThousandThirteenStockIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=sotk_TwoThousandThirteenStockIncentivePlanMember</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>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659373707984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of inventory, current (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials and subassemblies</a></td>
<td class="nump">$ 2,270,567<span></span>
</td>
<td class="nump">$ 1,868,689<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">1,785,952<span></span>
</td>
<td class="nump">613,915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in process</a></td>
<td class="nump">1,165,461<span></span>
</td>
<td class="nump">760,305<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Total</a></td>
<td class="nump">$ 5,221,980<span></span>
</td>
<td class="nump">$ 3,242,909<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659279371968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INVENTORIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Allowance for slow moving inventory</a></td>
<td class="nump">$ 380,400<span></span>
</td>
<td class="nump">$ 332,525<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276760096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Buildings, equipment, furnishings and leasehold improvements (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">$ 9,722,595<span></span>
</td>
<td class="nump">$ 8,934,703<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation</a></td>
<td class="num">(6,890,439)<span></span>
</td>
<td class="num">(6,309,707)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Equipment, furnishings and leasehold improvements, net</a></td>
<td class="nump">2,832,156<span></span>
</td>
<td class="nump">2,624,996<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">2,250,000<span></span>
</td>
<td class="nump">2,250,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_LaboratoryEquipmentMember', window );">Laboratory Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">1,733,911<span></span>
</td>
<td class="nump">1,647,951<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">1,891,345<span></span>
</td>
<td class="nump">1,807,817<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">924,356<span></span>
</td>
<td class="nump">789,044<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_TradeshowAndDemonstrationEquipmentMember', window );">Tradeshow And Demonstration Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">1,151,899<span></span>
</td>
<td class="nump">1,137,346<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Totals</a></td>
<td class="nump">$ 1,771,084<span></span>
</td>
<td class="nump">$ 1,302,545<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</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=sotk_LaboratoryEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_LaboratoryEquipmentMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</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=sotk_TradeshowAndDemonstrationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=sotk_TradeshowAndDemonstrationEquipmentMember</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_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</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>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276080512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation Expense</a></td>
<td class="nump">$ 580,732<span></span>
</td>
<td class="nump">$ 492,055<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275233552">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Accrued compensation</a></td>
<td class="nump">$ 579,757<span></span>
</td>
<td class="nump">$ 352,619<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Estimated warranty costs</a></td>
<td class="nump">524,875<span></span>
</td>
<td class="nump">500,650<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedPayrollTaxesCurrent', window );">Accrued sales tax</a></td>
<td class="nump">152,547<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrentAndNoncurrent', window );">Accrued commissions</a></td>
<td class="nump">133,771<span></span>
</td>
<td class="nump">157,927<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent', window );">Professional fees</a></td>
<td class="nump">74,826<span></span>
</td>
<td class="nump">100,921<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent', window );">Other accrued expenses</a></td>
<td class="nump">273,702<span></span>
</td>
<td class="nump">315,329<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued expenses</a></td>
<td class="nump">$ 1,739,478<span></span>
</td>
<td class="nump">$ 1,427,446<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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedProfessionalFeesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedSalesCommissionCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherAccruedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275312048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVOLVING LINE OF CREDIT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving line of credit</a></td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="nump">$ 1,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd', window );">Interest rate</a></td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">7.75%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember', window );">Letter of Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</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="Show.showAR( this, 'defref_sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers', window );">Credit line utilized to collateralize letter of credit issued to customers</a></td>
<td class="nump">$ 72,000<span></span>
</td>
<td class="nump">$ 145,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Unused portion of credit line</a></td>
<td class="nump">$ 1,428,000<span></span>
</td>
<td class="nump">$ 1,355,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount borrowed under the credit facility being utilized to collateralize letters of credit issued to customers for cash deposits on existing orders during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityInterestRateAtPeriodEnd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The effective interest rate at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_CreditFacilityAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember</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>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659276006608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - income tax reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 303,117<span></span>
</td>
<td class="nump">$ 154,009<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659275286976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - current and deferred tax expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 716,003<span></span>
</td>
<td class="nump">$ 438,263<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">123,743<span></span>
</td>
<td class="nump">83,525<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit', window );">Total current income tax</a></td>
<td class="nump">839,746<span></span>
</td>
<td class="nump">521,788<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(471,396)<span></span>
</td>
<td class="num">(321,458)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(65,233)<span></span>
</td>
<td class="num">(46,321)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit', window );">Total deferred income tax</a></td>
<td class="num">(536,629)<span></span>
</td>
<td class="num">(367,779)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 303,117<span></span>
</td>
<td class="nump">$ 154,009<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_CurrentFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659373656736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income taxes - deferred tax asset and liability components (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Allowance for inventory</a></td>
<td class="nump">$ 91,000<span></span>
</td>
<td class="nump">$ 76,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowance for accounts receivable</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_CapitalizedRdExpensesIrcSection174', window );">Capitalized R&amp;D expenses - IRC Section 174</a></td>
<td class="nump">985,000<span></span>
</td>
<td class="nump">441,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther', window );">Accrued expenses and other</a></td>
<td class="nump">177,000<span></span>
</td>
<td class="nump">147,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Deferred tax asset - Long Term</a></td>
<td class="nump">1,256,000<span></span>
</td>
<td class="nump">667,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Building and leasehold depreciation</a></td>
<td class="num">(230,000)<span></span>
</td>
<td class="num">(83,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred tax liability - Long Term</a></td>
<td class="num">$ (230,000)<span></span>
</td>
<td class="num">$ (83,000)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_CapitalizedRdExpensesIrcSection174">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_CapitalizedRdExpensesIrcSection174</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659368899744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of computation of basic and diluted earnings per share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Numerator for basic and diluted earnings per share</a></td>
<td class="nump">$ 1,441,463<span></span>
</td>
<td class="nump">$ 635,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic earnings per share - weighted average</a></td>
<td class="nump">15,743,763<span></span>
</td>
<td class="nump">15,735,451<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesAbstract', window );"><strong>Effects of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Stock options for employees, directors and outside consultants</a></td>
<td class="nump">30,244<span></span>
</td>
<td class="nump">34,048<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share</a></td>
<td class="nump">15,774,007<span></span>
</td>
<td class="nump">15,769,499<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic Earnings Per Share &#8211; Weighted Average</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted Earnings Per Share &#8211; Weighted Average</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<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_DilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659279281312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of customer concentrations and foreign sales (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total sales</a></td>
<td class="nump">$ 8,822,000<span></span>
</td>
<td class="nump">$ 8,254,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total sales</a></td>
<td class="nump">3,268,000<span></span>
</td>
<td class="nump">3,260,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_MiddleEastMember', window );">Middle East [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total sales</a></td>
<td class="nump">4,333,000<span></span>
</td>
<td class="nump">3,448,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_LatinAmericaMember', window );">Latin America [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total sales</a></td>
<td class="nump">$ 1,221,000<span></span>
</td>
<td class="nump">$ 1,546,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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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=srt_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</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=us-gaap_MiddleEastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_MiddleEastMember</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=srt_LatinAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_LatinAmericaMember</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>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139659371330240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 19,699,886<span></span>
</td>
<td class="nump">$ 15,058,203<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Foreign Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales revenue</a></td>
<td class="nump">$ 8,822,000<span></span>
</td>
<td class="nump">$ 8,254,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_sotk_SalesRevenuePercent', window );">Sales revenue, percent</a></td>
<td class="nump">45.00%<span></span>
</td>
<td class="nump">55.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member] | Two Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Outstanding accounts receivables, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Concentration Risk [Member] | Two Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Outstanding accounts receivables, percent</a></td>
<td class="nump">26.00%<span></span>
</td>
<td class="nump">28.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Concentration Risk [Member] | Four Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Outstanding accounts receivables, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_sotk_SalesRevenuePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percent of Sales Revenue</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">sotk_SalesRevenuePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>sotk_</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_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</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_ConcentrationRiskByTypeAxis=sotk_ForeignCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=sotk_ForeignCustomersMember</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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</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=sotk_TwoCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=sotk_TwoCustomersMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</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=sotk_FourCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=sotk_FourCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>63
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +=PMU@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "W<+=8BS)/F.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>NFD90E'7"]-.("$Q"<0M<KPMHFFCQ*C=VY.6K1."!^ 8^\_G
MSY)K] K[0,^A]Q384KP97=M%A7XMCLQ> 40\DM,Q3XDN-?=]<)K3,QS :_S0
M!X*R*.[ $6NC6<,$S/Q"%$UM4&$@S7TXXPTN>/\9VAEF$*@E1QU'D+D$T4P3
M_6EL:[@")AA3</&[0&8ASM4_L7,'Q#DY1KNDAF'(AVK.I1TDO#T]OLSK9K:+
MK#ND]"M:Q2=/:W&9_%H];'9;T91%>9L5JZRL=O)>%2M5R??)]8??5=CUQN[M
M/S:^"#8U_+J+Y@M02P,$%     @ MW"W6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MBJ.X7$L!(V$!\/LJR\SSC3UI+$^6A_\"4$L#!!0    ( +=PMU@2#KN&S@(
M -@'   8    >&PO=V]R:W-H965T<R]S:&5E=#,N>&ULK55=;]HP%/TK5C9-
MG=21$ AA'42B0-5*78M*NSU,>S#)A5AUXLQVH-NOW[5#(^C2EDKC@?CCGG//
ML7WMP4;(>Y4":/*0\5P-G53KXL1U59Q"1E5+%)#CS%+(C&KLRI6K"@DTL:",
MN[[G]=R,LMR)!G9L)J.!*#5G.<PD46664?G[%+C8#)VV\SAPPU:I-@-N-"CH
M"N:@[XJ9Q)Y;LR0L@UPQD1,)RZ$S:I^,0Q-O [XQV*B=-C%.%D+<F\Y%,G0\
M(P@XQ-HP4/RL80R<&R*4\6O+Z=0I#7"W_<A^9KVCEP55,!;\.TMT.G3Z#DE@
M24NN;\3F'+9^ L,7"Z[L/]E4L4'7(7&IM,BV8%20L;SZTH?M.NP VL\!_"W
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
MZ9K1B(G< /Y?<JX.%_D#ZEVET?]02P,$%     @ MW"W6"EJ;CR*!   I!8
M !@   !X;"]W;W)K<VAE971S+W-H965T-2YX;6RUF&UOJS84Q[^*Q:8]2+<%
MVSQV2:0V4-UJMP]KVDW3M!=N<!)4P!EVF^[;SR:4AH>XS;WL3<#DG+_MG^US
M.(PVK'CD*TH%>,G2G(^-E1#K$]/D\Q7-"#]F:YK+?Q:LR(B0S6)I\G5!25PZ
M9:F)+,LU,Y+DQF14/KLI)B/V)-(DIS<%X$]91HI_SVC*-F,#&J\/;I/E2J@'
MYF2T)DLZH^)^?5/(EEFKQ$E&<YZP'!1T,39.X4D$'>506OR>T W?N0=J*@^,
M/:K&13PV+#4BFM*Y4!)$7I[IE*:I4I+C^*<2->H^E>/N_:OZ>3EY.9D'PNF4
MI7\DL5B-#=\ ,5V0IU3<LLUG6DVH'."<I;S\!9NMK>,98/[$!<LJ9SF"+,FW
M5_)2@=AQ0&B/ ZH<4,L!NWL<<.6 VSWL&Y)=.=@M!XCW.#B50SEU<SOW$EQ(
M!)F,"K8!A;*6:NJFI%]Z2UY)KC;*3!3RWT3ZB<GUU>SZRT5X>A>%8'8G+Y?1
MU=T,7)_+UO7TU\_77\+H=O8CB'Z[O[C[$QR!^UD(?OK^YY$I9.]*PYQ7/9UM
M>T)[>IJR+),[8R;8_!'\=4FS!UK\W2,SU<N<QG&BMAA)P0U)XJ,D!U.R3H1L
M:T1#O>@M%?),T1A$I,B3?,EU6I%>ZX[)L33=3+DH]<J@>F50J6/OT3DC*<GG
M5"(_IP_%DSS% /F? +(0!D2HA\>O#U#?:FS5G5)=A8OG"70\%$C;YUW:7;,
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
MA2;5!A-O7S2HL>%O):2CI* ."IP-TRF*USY[ZT5LL//6C*A8^V\#-,H",+Q
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
M9^,*IQMDC1>4U-\/%TK85H088MO*-B:]4?XRO($P3BBZ1ELH2HK^6F("\B9
MMJSO*2)=HCWQ[2: U*RHH=@1?9CVX5BW,^Z0-S/N4;)VT<<W!Q(1CNUSP&FC
M3U D:8'AQX[+O@K3ASLE]@R#7<WM J,H[PQU'.W2.K/VG\#,+8Q^"N.\;SX;
M:-HVW_C.3DO>[L285MLNC=F4?LYGA(_M"5\PG 8'F#KA[*"_]X*##<I65L4T
M#0_8.!A&TX.M)\_?DD^1,RG&!GN0(DN9=T!_^[[01UM'IURHI3T@4EK6A6E.
M4?W;_@QZUAR]-N+- ?8C5TL,1Y:)!52]X01'/M4<"IL'4U;V((;/,1SK[.T*
MYVBA2 #KBQ*YVCZ0@?YD?OH?4$L#!!0    ( +=PMU@5!#+2" ,  &8&   9
M    >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;(5547/:.!!^YU?L^&[N28UM
M&1O# 3-)FDSST#23I.U#IP_"7L!36?))(C3_OBL9")U+Z .P*^U^^KZ5=IEN
MM?EAUX@.?K92V5FT=JZ;Q+&MUM@*>Z8[5+2SU*85CERSBFUG4-0AJ94Q3Y(B
M;D6CHODTK-V9^51OG&P4WAFPF[85YOD"I=[.HC3:+]PWJ[7S"_%\VHD5/J#[
MW-T9\N(#2MVTJ&RC%1A<SJ+S='(Q]/$AX$N#6WMD@U>RT/J'=V[J691X0BBQ
M<AY!T,\37J*4'HAH_+?#C Y'^L1C>X]^';23EH6P>*GEUZ9VZUE41E#C4FRD
MN]?;#[C3DWN\2DL;OF';QV8\@FICG6YWR<2@;53_*W[NZG"44"9O)/!= @^\
M^X,"R_?"B?G4Z"T8'TUHW@A20S:1:Y2_E =G:+>A/#>_N?UR=?OXZ?[FZF$:
M.P+TRW&U2[[HD_D;R2F'CUJYM84K56/].T!,3 YT^)[.!3^)>(V+,^!C!CSA
MPQ-XV4%>%O"RM^2I)U1.FV=XW]A*:KLQ"-_.%]89>@_?7Y/< PY?!_0],K&=
MJ' 641-8-$\8S?_Y*RV2?T_0'1[H#D^A_^DV3B:_3NWVT^,5Y!,X0H9]41JT
M4&GJ+^M +\&M$99:4ILV:C6!!^K_>B/1;S7[,C)ZD\:0/:";,AMJXW!;+T[)
M!O=B2R_4H6F$M"!431U/C6.Q74A_Y-_ &1\E+"]&9*>L+$I6E./!=:,:>L@U
MK+2N+6V,RIR-<PY%FK%QF@^^4G\3%>B,KM#ZB+3(V;!(850D+$ORP:-V0A)H
MSCA/V;A,R,X8'W(V3L;P2 (O==L)]0Q^7CGZ>((@O&BA*J^?!A8Y[UK]1%5X
M$1YVS/^4+7><!X'S63C"8*4-M<,++,4Z^*U@_GD'@./*^=6,@?,B*)VHEPD;
M)@ED&6<YS^&U%Q8?]7Z+9A4FG+_7C7+]&#BL'H;H>3\[7L+["?Q1F)6OB,0E
MI29GHSP"TT^UWG&Z"Y-DH1W-I6"NZ8\ C0^@_:76;N_X PY_+?-?4$L#!!0
M   ( +=PMUBA9AODC ,  -<'   9    >&PO=V]R:W-H965T<R]S:&5E=#$S
M+GAM;*U52V_C-A"^ZU<,U*+H D1$O2W7-F!OG,9 'FZ<; ]%#[1$6\)*HI>D
MXN3?=TC97B^0Y+*]V,/1S#??/#@<[87\JDK.-;PT=:O&;JGU;NAY*B]YP]2%
MV/$6OVR$;)C&H]QZ:B<Y*ZQ34WL!I8G7L*IU)R.K6\K)2'2ZKEJ^E*"ZIF'R
M=<9KL1^[OGM4/%3;4AN%-QGMV):ON'[:+26>O!-*436\595H0?+-V)WZPUED
M[*W!EXKOU9D,)I.U$%_-85&,76H(\9KGVB P_'OFGWE=&R"D\>V Z9Y"&L=S
M^8A^97/'7-9,\<^B_KLJ=#EV!RX4?,.Z6C^(_34_Y!,;O%S4RO["OK=-,&+>
M*2V:@S.>FZKM_]G+H0YG#@/ZCD-P< @L[SZ097G)-)N,I-B#--:(9@2;JO5&
M<E5KFK+2$K]6Z*<GLZ?%S>7B[L\5@?E?3XOE[?SND<#5T\/=8G5M]#"]NX2;
M^70UO[Z_N83%[?+A_LO<F*U&GD8&!L?+#]%F?;3@G6A^ +>BU:6">5OPXD<
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
M>B@,0*]O.5>'Q&S0/*/!;U!+ P04    " "W<+=88,G-L6\&  !8#P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6R=5VMOVS@6_:Y?<>'I%BF@QM;#
MLI,F ?(JIL!VIDC2V046^X&6Z)A32=205!+OKY]S*<EQIHX[V"^V)/*>>^Z;
M/'G4YIM=2>GHJ2IK>SI:.=<<C\<V7\E*V$/=R!HK2VTJX?!J[L>V,5(47J@J
MQ_%DDHTKH>K1V8G_]L6<G>C6E:J67PS9MJJ$65_(4C^>CJ+1\.%&W:\<?QB?
MG33B7MY*][7Y8O VWJ 4JI*U5;HF(Y>GH_/H^"+E_7[#;TH^VJUG8DL66G_C
MET_%Z6C"A&0I<\<( G\/\E*6)0.!QA\]YFBCD@6WGP?TC]YVV+(05E[J\E^J
M<*O3T7Q$A5R*MG0W^O%GV=LS9;Q<E];_TF.W-TE&E+?6Z:H7!H-*U=V_>.K]
ML"4PG[PB$/<"L>?=*?(LKX039R=&/Y+AW4#C!V^JEP8Y57-0;IW!JH*<._OT
MR^6OGZ_I[OS?U[<G8P=$_C[.>^F+3CI^13J*Z;.NW<K2=5W(XB7 &%0V?.*!
MST6\%_&C7!Q2?!12/(G3/7C)QK[$XR6OV5?GNI)T)Y[H2MF\U+8UDOYSOK#.
M("/^N\OF#C'=C<A5<FP;D<O3$<K 2O,@1V=O?XJRR8<]?-,-WW0?^@_CL5=Z
M-[=??KV[IJ-CVH:FNY4D4=>M**DQ^D'Y(CM8R%HNE7M'J'92G>N<>)*6"K5<
M2F-I:71%HM)M[6R ]:9ULJ#%FD33E&M5WY,#,A)456U%7P]O#^FC+*2!GF<\
M,L))TDN*HW^0TV @W_/G?H> &EVB75B0WB;Q_@6&S'6=JU()+N\ B6-:M!6?
M/,\O\S"X?FK0 L!R^3V1-Y1D69AD,9ZB;!K.YW%PZY@=5D.JT15!<Q"<QN$T
MFE R"^-)&MS P<+D*_BQ0"-X0(-KT*Z<!\Z-+)2S=!!E43B-I_0.C_$L3.(C
M>A=\D6@H->_M_"KK'.:ETW VF]!L'L;3.'BVG"0LJ*UDMI,DC*(9LYVFX61R
M1)>(@68HRTS9^7EK#$-WM( .*B]@A-GKXQ_)[W'U92=Z' PQ?T.S* //!$]I
M L.RI/=O%"?A+$UHGK![@COML'U0O16A>7*$?1E\'X6S^3RXZAD]ZSA(9U&8
M'&7LX@2[TND<+NZT'""F<9+P4HHXQQ%6.E4;R[9T'4R3+,PX0D#*9H@&!^MO
M!N(31HRUTMJA"# C2_4_L4"*NC4'YX4S>:^S(4JEQO#CO$$Y8=857&6/*PD$
ME"!<8:G2"%BIOLER#6!14ZT=/SBR3*S1Q@\XE*PHRR$+=BC#:,$Z"R\&=K(X
M]*T ,TQ5[+">M"^IW92942'AAX(CU2+YO+Y[M XC.B*HF-9QGX646)1R\''1
MFL$YC31*%P"K8:Q"$;F5AF.=1#8;3J>MP@@6LA.718LA#L!#^KQQ&SV[C8'Y
MV%*T)2@;E*2QHOS.]6@9/BA*PO_H?K_W[6$7Y]"70;\)QMF 6^-N\S3T[3)L
M=S"X"E^Q:"%+!?)V3_P#'W_&Y@8@ZG47W#ZJ?J%OYD-?L-OJMMW;90#;8-CW
M0P@9HL:IRGM,/%H_$S"5DQ!:_F@5YLNV_@!]/!>-<AV!EP.$FA;8* XRKS7-
MOK38<;X+%-O9LH:,EV!8VT)\LQUJD<V82"@"I'/@@R!HB;->)]8%Y)#.X7)6
MCU1'4'>$A-[^-(_CR8?+C14%W;P55?/AZED=[XFB#_3IYI)N^Y-E-$N]*#ZO
MT%<74M8!3R=3#.4UQ*C0@. "7(D'GK]K:A$!XW!X[MRDK?)9QNG#)R O;F3
MR5)K?'5XLUUO!B-1<A+#JE)P!L,7/\0[]_GPHH7S0DA\SO<>>X''WA_&'Y0&
MUK?5WQ$:6ZBN(GPF=XF!W]ASPT/4F;[#S[QAJ,&UE^:#!!"QJT^\;C8A_-]-
MIQ_BY9N!N&=077V'$IRS1@'W];G[  B-[6_H*$*#G_ LXU$V^<M.D>?^-,0'
M$JD>?$-(O(#_#?Z?=**C^=1#I&G4J<QSTP)@(\@V:S\CHMG,;XU2_[_#M(V6
M?VK4TQW.'CRV<,C(>KNR;(?HQJ/!1:O*@DO1.UKB#K32)5<OSFUY=_RB@SB9
M>#2,SGEG_KM7\';2V9)_\XQ NT[4XZW;3B7-O;_36?)1Z"X^FZ^;:^-Y=UMZ
MWM[=.3\+<Z^0P:5<0G1R.)N.R'3WN.[%Z<;?G1;:X2;F'U>X^DK#&["^U-H-
M+ZQ@<YD^^Q-02P,$%     @ MW"W6(60*J < P  /@<  !D   !X;"]W;W)K
M<VAE971S+W-H965T,3<N>&ULG95+D]HX$,?O?(HN)Y63=_SD&: *,N1QR"P%
MV<TAE8.PVU@UMN1(\I!\^VW)0&9W&#:5 [CUZ)_^W7:WI@>I[G6):.![70D]
M\TICFDD0Z*S$FND;V:"@E4*JFAD:JGV@&X4L=TYU%<1A. AJQH4WG[JYM9I/
M96LJ+G"M0+=US=2/)5;R,/,B[S2QX?O2V(E@/FW8'K=H_FK6BD;!F9+S&H7F
M4H#"8N8MHLDRM?O=AK\Y'O0C&VPD.RGO[>!#/O-"*P@KS(PE,'H\X!NL*@LB
M&=^.3.]\I'5\;)_H;UWL%,N.:7PCJ\\\-^7,&WF08\':RFSDX3T>X^E;7B8K
M[?[AT.U-0@^R5AM9'YU)0<U%]V3?CWEXY#!ZSB$^.L1.=W>04WG+#)M/E3R
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
M@*,4"5C%&.1\PM@"D/!EMLHMWG!+0XV<9PX:>K'JM0J6C04+*@4M5E#H[*)
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
MH]M!-'IXV)9X :GGF/Z GLFEN"+4]$N\AYUKVCR5; T/SU)A)>$=#*/$"X(
MDIX&H1<.SRQ,>\X-4[@61&&N7P%1^[3(2],V+M0\S0I;D6'/N=6#H/QT\:1?
MP[^L,/""8=\&]L,>#+QAVJ*DWW-FT]N70*\?QUL;.E>8)+M<SDP5*"#QDJW/
M*.Y![*7QH$6#GK.8+2Z^FUK.O&$0V&T-=*)^:L&AWO3W1D>%8FT'I(2,-TRU
M4Z3;[6;P13MZ7L+; 7Y+Q+ID$BBN-#4X'?9=$.U0;('BM1U$2Z[T6+/+0G]'
M4)@ ?;[B7.V 2=!]F29_ 5!+ P04    " "W<+=8C?.SY"<$  ":"0  &0
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
MG8G2!9432==<2E[K%XI16D',(K>7Q!#[OMN-_9:HN'DSS3<0$"*.$C@[Z;&
M7>Z?617*- H%01BZ21*0-G'[+.E,I<C1[O$2<B120L>P+@1T3)\%G6^4LZ3V
M\.926$(<GT$8Q&[(^IT'H0GPG^P4 C<)^VZ4].PX8HD;15TX]/S>7IU6*.>V
M&YGK7]6Z*=EVM6UXXZ;.7^5-M[SE<EY0MB7F%.J?)[$#LNE S42+I:WZF=#4
M0^QP04T;I1'0?BZ$WDW, >W?P.@O4$L#!!0    ( +=PMUB:FQEEJ00  +P+
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;*5674_K1A!]]Z\8Y5(4
M)%]BKS\#(1($4)%*BR"WK53U86-OR.K:7G=W':"_OK-KQ^26$'K5E]CKG3ES
M9O;L9"9/0GY5*\8T/)=%I<X&*ZWKD]%(92M64G4L:E;ASE+(DFI<RL>1JB6C
MN74JBQ'QO'A44EX-IA/[[4Y.)Z+1!:_8G035E"65+Q>L$$]G W^P^7#/'U?:
M?!A-)S5]9 ],?ZGO)*Y&/4K.2U8I+BJ0;'DV./=/+F)C;PU^Y>Q);;V#R60A
MQ%>SN,G/!IXAQ J6:8- \;%F,U84!@AI_-5A#OJ0QG'[?8-^;7/'7!94L9DH
M?N.Y7IT-T@'D;$F;0M^+IQ]9ET]D\#)1*/L+3ZUM-!Y UB@MRLX9&92\:I_T
MN:O#ED/JO>- .@=B>;>!+,M+JNET(L432&.-:.;%IFJ]D1ROS*$\:(F['/WT
M].;GV2^W5S ___WJ 89SNBB8.IJ,-$(;@U'6P5RT,.0=&)_ K:CT2L%5E;/\
M6X 1<NJ)D0VQ"[(7\9HMCH&,72 >"??@!7VB@<4+WDNTRD3)8$Z?X9*KK!"J
MD0S^.%\H+5$:?^[*N44,=R.:ZW*B:IJQLP'>!\7DF@VFAY_\V#O=PS?L^8;[
MT#=\-7UF"CX#[Y=X%3)19;S@U.AZ%^^]R+MYSU<,:%4UM(!:BC6WEVZX8!5;
M<GT$>/NW*""CG"^73"I82E$"+453:>7@?MUHEL/B!6A=%R^\>@2-R"A87C8E
M?#E^.(9KEC.)<;93HIJ!6 +Q?P MD '[;#YW%A3#B +;ASJ!_UH6!_4C&VPS
M5D.OB]1UKIYK; G(<OF6R $$<>P&,<$W/X[<-"7.@S;L<->%"KLDTMPX1L2-
M? ^"Q"5>Z-QC+:G,5EC''!O#&AM>C>U+6^!,LIQK!4,_]MV(1'"$KR1Q S*&
M(^>.88.IC&U;5U9EF%X8N4GB09*Z)"+.:^; ,(-*,</6"US?3PS;*'0];PQ[
MI!?UTHN^1WI9(Z6AUJ:%[#"5;1J[%+@WP&X%SE \PM1 F1(;U7P4&*C<*XZ/
M_/=H9-:ZGC@;L1Y XL=8X #?P@!/) XZ8?@D<),P@#0PY^K,A4;S3>@M::7!
M&.UB%(WO)FGJ7':,7F,,P\1W@W%LM!&@51BEJ(TVRA#%2(+ ;(4H4.+C3ANJ
MSVPKUC *8C<VTD*D.$$9&97]?P7%O8+B[U'0-\6G2K'V3/"J+O"^ZA?(^K/?
M):;]L4SG^C" 48H)(KE"JTY?K6ZP1[U1SG<0WB.BRS<HSKF)2/%V=QUUC1 "
MS0]@[&/Q/:,S(S/O7Y8TRVR+-5V.\;7YFX; .MA?9T9KCF+@?V.T^T-:UJ>7
MFS-6</@I);Y_"C?W,WCHIB$_"6&<1A8B#/TV9);)!@%Z1Y.SP$I)-$^LJ1_:
MYX[4^B@_"6SZ<VQH1E+8N>(NKSC>X=I7U+EH>)&;_PM;:(:#UDH4YMYBA\C:
MG@Y#$G@6#66=MND?O8.WD\Z6_\$KPBZ]C[8FJI+)1SLW*K"'T Y7_==^-#UO
M)[)7\W:NO:7RD5<*<UJBJW><8&^4[:S8+K2H[7RV$!JG/?NZPO&:26. ^TLA
M]&9A O0#^_0?4$L#!!0    ( +=PMUA ^TW=( ,  %@'   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(X+GAM;*5536_;.!"]^U<,U*+8 FKT8?FSM@&[<9H<
M&AAVNST4/=#2R"(BD5J2BMM_OT/*=K.MXRYV#S8YY,SC>R/.<+*7ZD$7B :^
M5:704Z\PIAX'@4X+K)B^DC4*VLFEJI@A4^T"72MDF0NJRB .PWY0,2Z\V<2M
MK=1L(AM3<H$K!;JI*J:^+["4^ZD7><>%-=\5QBX$LTG-=KA!\ZE>*;*"$TK&
M*Q2:2P$*\ZDWC\:+Q/H[AS\Y[O63.5@E6RD?K'&73;W0$L(24V,1& V/^ [+
MT@(1C;\.F-[I2!OX='Y$OW':2<N6:7PGR\\\,\74&WJ08<Z:TJSE_A8/>GH6
M+Y6E=O^P;WW[B0=IHXVL#L'$H.*B'=FW0QZ>! S#9P+B0T#L>+<'.9;7S+#9
M1,D]*.M-:';BI+IH(L>%_2@;HVB74YR9+>?K^[O[]QM8+=>PN9VOE_#'1[8M
M4;^>!(8.L&Y!>@!;M&#Q,V!1#!^D,(6&I<@P^R= 0,Q.].(CO45\$?$&MU<0
MCWR(PSBY@-<]R>TZO.YS<ID27.PTK%#!IF *X<M\JXVBV_'UG. 6+CD/9RMF
MK&N6XM2CDM"H'M&;O7H1]<.W%\@F)[+))?39ABHP:TH$F4,JJ[HQS-UD,NDB
M\A28R"#C96,P SPJJTF9MLK.R;EXX'DY'PN$7)94O00/QMX-T&@T+2I3@*'M
MWY'K_$IN#/]378>NAFJHC[CK\<,8^IW[ID+%C%26XK\"@Y<0^4E"OWZ7YOUN
MSQ^%O<XU"DDU]Q/4F? WL'?E3^#LD<[>(40]?Y!T_0$!VBDA)KVHL\QS:D?:
MBG1LJ"-1,M-&<<-1CSL;(],'D+7-A,LP8%67\CNB]BE"4;!4VJFA#JMY9I,O
M-+4@)@BV&_IQDD W\<-D^ O]"_HMQ0%%A0,W[8_\9#3J+)S>,S7SZL4PCJ*W
M\/FH>GY0_1+"JW#4#DGG^G#@?T: <U44/.EV]*%WKJ=KRD,C3-OX3JNG9V/>
M=LL?[NV;\X&I':=$EYA3:'@UZ'F@VC[>&D;6KG=NI:%.[*8%/7VHK /MYU*:
MHV$/.#VFL[\!4$L#!!0    ( +=PMUA#CX\Y\P(  #H&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(Y+GAM;)U546_:,!!^YU><LFEJI:@)(72L Z24IENE
M0A&TV\.T!Y,<8#6Q,]L4^N]W=FC:292'O21G^[[OOG/N+OVM5(]ZC6A@5Q9"
M#[RU,=5%$.ALC2739[)"02=+J4IF:*E6@:X4LMR!RB*(PO \*!D7WK#O]J9J
MV)<;4W"!4P5Z4Y9,/5]B(;<#K^V];,SX:FWL1C#L5VR%<S0/U531*FA8<EZB
MT%P*4+@<>$G[XC*V_L[A!\>M?F.#S60AY:-=W.0#+[2"L,#,6 9&KR<<85%8
M(I+Q9\_I-2$M\*W]PG[M<J=<%DSC2!8_>6[6 Z_G08Y+MBG,3&Z_XSZ?KN7+
M9*'=$[:U;S?V(-MH(\L]F!247-1OMMO?PQM +WP'$.T!D=-=!W(JKYAAP[Z2
M6U#6F]BLX5)U:!+'A?TH<Z/HE!/.#$</\_N[<3J#T=UDE$[N9\G]S=UD#LGD
M"J[O9NG-MPG,D]MT#B?W;%&@/NT'AN):=)#M8US6,:)W8K0C&$MAUAI2D6/^
M+T% @AO5T8OJR^@HXS4NSB#ZXD,41O$1ODYS"QW'UWF';\;UHP8F<G@0&2I#
MQ6PX:OB5++115#F_#V5=<\:'.6TW7>B*93CPJ%TTJB?TAI\^M,_#KT<4QXWB
M^!C[<$[=F6\*!+G<EPDJR"2I%R38%GR=#[4M%:8 S>C;'4KB:)C#2:2[2BI3
M4X*137P-A<R8P1RH^S7/$<P:Z4:YW9H;.JDUC9A@.6MM42&PJE)RQZF]L'@&
MIDEP08-"7\!_9=BBRE ;FBZN.EX7/;^5:,Y@RC*^Y!F<)--D= H=/SKO^6$8
M.BNT5BO=*!IY/HQYGE/TE&GC@P.?I.,T.878[W0Z>U <.WCKE@0)2$@BSQBT
M_2AJ.X^VWXW/G<='Z/F]*'*[UHZZL;,/U4+PII^)<N6FEJ;D-\+4K=WL-H,Q
MJ>?!JWL]5<=,K3C=5(%+@H9GG[L>J'I2U0LC*S<=%M+0%3MS3<,=E76@\Z64
MYF5A S2_B^%?4$L#!!0    ( +=PMUB="UX[) ,  - -   9    >&PO=V]R
M:W-H965T<R]S:&5E=#,P+GAM;+5774_;,!3]*U8V32!UY*N?K(T$16A(H%54
ML >T!S>]:2T<.[.=%O[]["2$1J091:$/C>W<<W+O\4E[/=YR\2C7  H]Q93)
MB;56*CFU;1FN(<;RA"? ])V(BQ@K/14K6R8"\#(#Q=3V'*=OQY@P*QAG:S,1
MC'FJ*&$P$TBF<8S%\SE0OIU8KO6R<$M6:V46[&"<X!7,0=TE,Z%G=LFR)#$P
M23A# J*)=>:>3EW/ +*(>P);N3-&II0%YX]F<K6<6([)""B$RE!@?=G %"@U
M3#J/OP6I53[3 '?'+^R76?&ZF 66,.7T-UFJ]<0:6F@)$4ZINN7;GU 4U#-\
M(:<R^T;;(M:Q4)A*Q>,"K#.("<NO^*D08@?@=O< O +@O1?@%P _*S3/+"OK
M BL<C 7?(F&B-9L99-ID:%T-868;YTKHNT3C5##7OEBF%!"/D"0K1B(28J:T
MO"%/F2)LA1).24A HN\HPD2@#::IGFE 1!AF(<$482E!96MJ#2CD<8+9,SJZ
M (4)E<<:>C>_0$=?C\>VTEF;9]MAD>%YGJ&W)\-+6)P@;]1!GN-U:^#3]\"'
M&=ROPFVM52F85PKF97S^'KX9Q<J\/>A7 @(K+CIH*IX3Q=&9T0 ]7&L NE(0
MRS]UQ>;LW7IV\]*>R@2',+'T6RE!;, *OGUQ^\Z/NM);(JL(X9="^$WLP0T6
MCWI[%]H[<PA3093V2%W%.4TOHS&_*IM@-'!=O^>.[<UN,6_CAL[(T9\RKI)G
MM\RSVYCGI?'LO?%L!UVQ)%6R@ZYA Q2YZ.$&X@6(VHUJ9#UTHUHBJPC0*P7H
M?:IC>VT*T1)918A^*42_'<?F-/W_.O9MW,#ONWL=.RCS''S0L5ZC8QM9#]VH
MEL@J @Q+ 8:?ZMAAFT*T1%818E0*,6K'L8TT]4FBNF)';QWMC?8:VG5>NPSG
M@Y;V&RW=3'OH5K;%5A5AI]5R/]76!7U;8K3$5A7CM8UR&YN3]UN[F>< ;[=
ME-=J[[3;YJRC2UD1)A&%2#,[)P/])R?RXT,^43S).O %5[J?SX9K?>0"80+T
M_8AS]3(Q37UYB O^ 5!+ P04    " "W<+=8)G[.7AL%   8&0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970S,2YX;6RU66%OXC@0_2L6=SKM2MTF-A!"#Y H
M+;M(;1>UVSN=5O?!) :L36+6=J ]W8\_)Z$) 6,*%[ZT),P\OS?CR4Q,9\7X
M#S$G1(*7,(A$MS:7<G%E6<*;DQ"+2[8@D?IFRGB(I;KD,TLL.,%^ZA0&%K)M
MQPHQC6J]3GIOS'L=%LN 1F3,@8C#$//7:Q*P5;<&:V\W'NEL+I,;5J^SP#/R
M1.3S8LS5E96C^#0DD: L IQ,N[4^O!H@)W%(+?Z@9"4V/H-$RH2Q'\G%R._6
M[(01"8@G$PBL_BW)@ 1!@J1X_%R#UO(U$\?-SV_HPU2\$C/!@@Q8\"?UY;Q;
M<VO )U,<!_*1K;Z0M:!F@N>Q0*1_P2JS=1HUX,5"LG#MK!B$-,K^XY=U(#8<
MH+/' :T=T+;#OA7J:X=Z*C1CELJZP1+W.IRM $^L%5KR(8U-ZJW4T"A)XY/D
MZENJ_&3O:?3Y830<#?H/WT!_,/CZ_/!M]/ 9C+_>C0:CVR?PX89(3 ,!'C#G
M. GY1_ )/#_=@ ^_?NQ84E%(@"QOO=QUMAS:LQQ$X)Y%<B[ ;>03OPQ@*>ZY
M /0FX!H9$8=D<@E0^P(@&S4TA ;O<7=3][J!3CV/9SW%J^_!&W-585R^7H!Q
M@",)<.2#VY\Q7:BM+\'W.V4.1I*$XF]=\#+LAAX[J>@KL< >Z=94R0K"EZ36
M^^T7Z-B_ZX17!%8*0R,/0\.$WNO[2Q4%*F@T ^1%/7,$T>G-0)HI2/+ 6?;J
M+6C;=L=:;BK9-4/M5G/#K,2QF7-L&CD.L)@#&BE^'A$"L"F0<P*&-Z.!NBMB
M3GP0T)!*'?'F#B/HPO8N<R.#$W/@Y/H<H[Y;(:EZSBD9L2#3.%!JED3HU)AQ
M&C9X)9CK/ =&SQ/UM7)]+2.O>\Q_J(?3)"! $"_F5%*]O-9.LMHM".M-N)6L
MS,[9L'/M)*=[]IF;\W2-/)\C3]6"ZJA XA>P8((F#4S+U-UAL+VA3!8E=NV<
M7=M<J2%3A?H/3INJH53;.PM#IU%O;-'36+DN;.@I0KMH4K:1Y)!&5))/=VH#
M^V 421S-:)+WOA!$B@O0][PXC(-TLV\*TC8H>X<C@LAUMG>#SLY&C@OWB-GH
MN/!T,1?@5N7 VQ9R ?Y2)0B&RD>K"6JRL_LT,A,[L5PA*H0CH_ [U0RU[-%N
MI)NVAOY!NS*QHF=#8R_LC<(%ICSMT %36=#6YAK#5)Q&DS*WHI%"<R=]5(G
MW)NGDX1/EFKPSF:)=:WJN6HZINOJ=H3&$#;:^V-:-%=H[JXW+"2J 7E@K*HR
MD@)\OR?AA'#MW&/&.G;PJ0JMK+QHN] YXP@(*VJIZU"<HT'#HD-#<XL^\*A[
MSN:2.SK5/]7,X+"U?RXQNYZJN^CXT-SRU1NF>G^,WK?WC5!')[PBM++P8IB
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
MTQ$7?:<(([_HYR+O!S[3CPG!%8WY*@&7\8(LF@ C,>ARY/!IY!=0B?B1S(<
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
M7'VV!%5W71T86?B#NY;&MH$?[NU%!<HEV/6ME.88N%YHK[[T+U!+ P04
M" "W<+=8-');!$D$  !X%@  &0   'AL+W=O<FMS:&5E=',O<VAE970S.2YX
M;6RU6-MNVS@0_15"NUBT@!N)U#UK&\BEP09( */9M@_%/M 2'0N51)>D[.3O
MEY1E76R9C0,Y#S$ES1R?&0['1S/>4/:3+PD1X"5+<SXQED*L+DV31TN287Y!
M5R273Q:495C(2_9L\A4C."Z=LM1$EN69&4YR8SHN[\W8=$P+D28YF3' BRS#
M[/6:I'0S,:"QN_$E>5X*=<.<CE?XF3P1\74U8_+*K%'B)",Y3V@.&%E,C"MX
M>8-LY5!:?$O(AK?60(4RI_2GNKB/)X:E&)&41$)!8/FQ)C<D3162Y/&K C7J
M[U2.[?4._:X,7@8SQYS<T/1[$HOEQ @,$),%+E+QA6[^(55 KL*+:,K+_V!3
MV5H&B HN:%8Y2P99DF\_\4N5B)8#=(XXH,H!O=7!KAS*S)E;9F58MUC@Z9C1
M#6#*6J*I19F;TEM&D^1J&Y\$DT\3Z2>FUT62QDG^S$> _"J2E=PA,0*+@N4)
M7ZK[ .<Q2(G,U)*F,4BR%:-KHLPX^'!+!$Y2_A%\ E^?;L&'/S^.32%9*6PS
MJAA<;QF@(PSNR/P"H' $D(6<'O>;M[@'I;O==3=E+NJ$H#HAJ,2SC^#-F#PB
M3+R.P"S%N2C#_[S+#/CQ(,W!O2 9_Z\OU"VVTX^MCN0E7^&(3 QYYCAA:V),
M__H#>M;??8$/!-9)@UVGP=:A3_^E J>\+\2MGUOZJ2:QGH8^0F[HCLUUF_VA
M71#:CF_9M5V'F%,3<[3$'@CGE^ JBHJL2+$@L3RT,OXHP:HM]!'>XGDM(I^\
M(+0<.]QCW&=H6Z%O^?V4W9JRJZ7\^=2#-0(Y$7VAN <,46 CZ'I[D?38><@)
M0Z\_$*\.Q-,&LFL6X,<CR>:$]1X!+<2I1V @L$ZT?AVM?\9.X ^9AH' .FD(
MZC0$[^P$P6&5(=>2?WO5^'N[#K&P)A;J.P&>4X8%9:_M;=%4IA;NU"T9"*P3
M.;2:7VWKC+59@0^4B:'0NJEH"1CXSOJL'-N%!WW;#B'<*] ^0\_Q0Q?V5RAL
MQ 34_DA/'W$DFSV1);JW0YHRU4.>O#OG4!&PD1'0/F>A:D7*R:D8"*V;BD:X
M0+URT13JH?* 00AM9U]3]1I:?@"/*!382!2HUR@/M1"Y;RM\;9UJ$4_>G('0
MNO$WR@9ZYZS3047/4&C=5#2R!VKEA*Y._8/R"Y%C'\C/'CM?*6[G2)4V4@3^
M1HLP'!.^E&Y7<G]N249S+EBI_-_:7+5?</).#83634<C@&!XSJ(=5 \-A=9]
M:6\$$=*J#$W15HZ=G@E=V5_W7_]Z#6W?=HZ\-:%&HB"]1+E3;WVB8*3<H;OD
M1:WUS56/>/(D82"T;ORMD<I99RK##E7.H8=0HX?0>^<JZ'!@ GT?6H&S7Z<]
MAK:%W)9:V)(S6V-!-9-]Q.PYR3E(R4)Z6A>^A&#;,>?V0M!5.2F<4R%H5BZ7
M1'9<I@SD\P6E8G>AAH_UL'GZ/U!+ P04    " "W<+=844M[NY "  #6!0
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
M ]3\@C&Y[>C[0WE=#'\!4$L#!!0    ( +=PMU@[R7,56@(  *X%   9
M>&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;*U4RV[;,!#\%4(MB@1HHZ>=Q)4%
M^-&@.00PXJ8]%#W0TMHB0I$J23_Z]UU2LNJDMM%#+Q*7VIF=69&;;J5ZUB6
M(;N*"SWT2F/J@>_KO(2*ZBM9@\ O2ZDJ:C!4*U_7"FCA0!7WHR#H^Q5EPLM2
MMS=362K7AC,!,T7TNJJH^C4&+K=#+_3V&X]L51J[X6=I35<P!_-4SQ1&?L=2
ML J$9E(0!<NA-PH'D\3FNX2O#+;Z8$VLDX64SS:X+X9>8 4!A]Q8!HJO#4R
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
M;F$%N^U#=0\F#!!M8G.V@:O4'W^V X'0$"U=]P5B9^;S]TUFDK';.\9?Q0I
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
MDBP+(X"%%20)AL#3B".8 M" (4GBSL&]\RA>GU/QYK>3T6]02P,$%     @
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
M Q0    ( +=PMU@'04UB@0   +$    0              "  0    !D;V-0
M<F]P<R]A<' N>&UL4$L! A0#%     @ MW"W6(LR3YCO    *P(  !$
M         ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ MW"W
M6)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE+W1H96UE
M,2YX;6Q02P$"% ,4    " "W<+=8*#N66JT'   ),P  &
M@($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ MW"W
M6(WQTM$7!@  918  !@              ("!\0\  'AL+W=O<FMS:&5E=',O
M<VAE970R+GAM;%!+ 0(4 Q0    ( +=PMU@2#KN&S@(  -@'   8
M      " @3X6  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4
M" "W<+=8-<\D(@4%  !A$@  &               @(%"&0  >&PO=V]R:W-H
M965T<R]S:&5E=#0N>&UL4$L! A0#%     @ MW"W6"EJ;CR*!   I!8  !@
M             ("!?1X  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4
M Q0    ( +=PMUC0#\(,N08  /0;   8              " @3TC  !X;"]W
M;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "W<+=8H E@#4,"  "0
M!@  &               @($L*@  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL
M4$L! A0#%     @ MW"W6/876(J: P  L0<  !@              ("!I2P
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( +=PMU@)VC_8
M30<  * 1   8              " @74P  !X;"]W;W)K<VAE971S+W-H965T
M.2YX;6Q02P$"% ,4    " "W<+=8MC.48+@%  !+#0  &0
M@('X-P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( +=P
MMUAJ29B>KP8  *4/   9              " @><]  !X;"]W;W)K<VAE971S
M+W-H965T,3$N>&UL4$L! A0#%     @ MW"W6!4$,M(( P  9@8  !D
M         ("!S40  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4
M    " "W<+=8H68;Y(P#  #7!P  &0              @($,2   >&PO=V]R
M:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( +=PMUANU%\'V@(  "(&
M   9              " @<]+  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL
M4$L! A0#%     @ MW"W6-JVB&!< @  4@4  !D              ("!X$X
M 'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " "W<+=88,G-
ML6\&  !8#P  &0              @(%S40  >&PO=V]R:W-H965T<R]S:&5E
M=#$V+GAM;%!+ 0(4 Q0    ( +=PMUB%D"J@' ,  #X'   9
M  " @1E8  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @
MMW"W6' _MS"( P  W0<  !D              ("!;%L  'AL+W=O<FMS:&5E
M=',O<VAE970Q."YX;6Q02P$"% ,4    " "W<+=8 Q$(\2<#  #H!@  &0
M            @($K7P  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4
M Q0    ( +=PMUBBP<]MA@@  $L<   9              " @8EB  !X;"]W
M;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ MW"W6!J@5!WI @
MU08  !D              ("!1FL  'AL+W=O<FMS:&5E=',O<VAE970R,2YX
M;6Q02P$"% ,4    " "W<+=8'O7-<0$#  "E!@  &0              @(%F
M;@  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( +=PMUB-
M\[/D)P0  )H)   9              " @9YQ  !X;"]W;W)K<VAE971S+W-H
M965T,C,N>&UL4$L! A0#%     @ MW"W6*Q.^ JP @  K04  !D
M     ("!_'4  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4
M" "W<+=8N6)RV%P#   T!P  &0              @('C>   >&PO=V]R:W-H
M965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( +=PMU@2WLN2V0(  !(&   9
M              " @79\  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L!
M A0#%     @ MW"W6)J;&66I!   O L  !D              ("!AG\  'AL
M+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "W<+=80/M-W2 #
M  !8!P  &0              @(%FA   >&PO=V]R:W-H965T<R]S:&5E=#(X
M+GAM;%!+ 0(4 Q0    ( +=PMUA#CX\Y\P(  #H&   9              "
M@;V'  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ MW"W
M6)T+7CLD P  T T  !D              ("!YXH  'AL+W=O<FMS:&5E=',O
M<VAE970S,"YX;6Q02P$"% ,4    " "W<+=8)G[.7AL%   8&0  &0
M        @(%"C@  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0
M   ( +=PMUCAYI.-\@,  ,H1   9              " @923  !X;"]W;W)K
M<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ MW"W6'T%T:^: @  XP8
M !D              ("!O9<  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q0
M2P$"% ,4    " "W<+=89NI'W(D$   \%0  &0              @(&.F@
M>&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( +=PMUAFE4T4
MD ,  -P.   9              " @4Z?  !X;"]W;W)K<VAE971S+W-H965T
M,S4N>&UL4$L! A0#%     @ MW"W6.\&*ZS=!@  *3   !D
M ("!%:,  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " "W
M<+=83HGB)I\"  #F!@  &0              @($IJ@  >&PO=V]R:W-H965T
M<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( +=PMUC=UZ+., (   8%   9
M          " @?^L  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#
M%     @ MW"W6#1R6P1)!   >!8  !D              ("!9J\  'AL+W=O
M<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "W<+=844M[NY "  #6
M!0  &0              @('FLP  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM
M;%!+ 0(4 Q0    ( +=PMUB!K*+Y\@(  /0(   9              " @:VV
M  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ MW"W6%I,
ME"GY @  .@H  !D              ("!UKD  'AL+W=O<FMS:&5E=',O<VAE
M970T,BYX;6Q02P$"% ,4    " "W<+=8.\ES%5H"  "N!0  &0
M    @($&O0  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    (
M +=PMUC$5L^N_0(  %0)   9              " @9>_  !X;"]W;W)K<VAE
M971S+W-H965T-#0N>&UL4$L! A0#%     @ MW"W6#:(K*@= P  3PD  !D
M             ("!R\(  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"
M% ,4    " "W<+=8JV&JV6H#  "^"@  &0              @($?Q@  >&PO
M=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( +=PMUBCE<U%W (
M &D)   9              " @<#)  !X;"]W;W)K<VAE971S+W-H965T-#<N
M>&UL4$L! A0#%     @ MW"W6*;AA;#- P  .Q(  !D              ("!
MT\P  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " "W<+=8
MYB67"Q\#  !($0  #0              @ '7T   >&PO<W1Y;&5S+GAM;%!+
M 0(4 Q0    ( +=PMUB7BKL<P    !,"   +              "  2'4  !?
M<F5L<R\N<F5L<U!+ 0(4 Q0    ( +=PMU@LMF+(OP0  ",@   /
M      "  0K5  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " "W<+=8DBR@
MEK@!  #G'   &@              @ 'VV0  >&PO7W)E;',O=V]R:V)O;VLN
M>&UL+G)E;'-02P$"% ,4    " "W<+=8C$_JC[H!  #N'   $P
M    @ 'FVP  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     .  X #\/  #1
%W0     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<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>65
<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>67
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>87</ContextCount>
  <ElementCount>229</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>39</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ConsolidatedStatementsOfIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995512 - Disclosure - BUSINESS DESCRIPTION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/BusinessDescription</Role>
      <ShortName>BUSINESS DESCRIPTION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995514 - Disclosure - REVENUE RECOGNITION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/RevenueRecognition</Role>
      <ShortName>REVENUE RECOGNITION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995515 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Stock-basedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995516 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Inventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements</Role>
      <ShortName>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995518 - Disclosure - ACCRUED EXPENSES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/AccruedExpenses</Role>
      <ShortName>ACCRUED EXPENSES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995519 - Disclosure - REVOLVING LINE OF CREDIT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/RevolvingLineOfCredit</Role>
      <ShortName>REVOLVING LINE OF CREDIT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995520 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995521 - Disclosure - EARNINGS PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/EarningsPerShare</Role>
      <ShortName>EARNINGS PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/CustomerConcentrationsAndForeignSales</Role>
      <ShortName>CUSTOMER CONCENTRATIONS AND FOREIGN SALES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995523 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995526 - Disclosure - REVENUE RECOGNITION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/RevenueRecognitionTables</Role>
      <ShortName>REVENUE RECOGNITION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/RevenueRecognition</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Stock-basedCompensationTables</Role>
      <ShortName>STOCK-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/Stock-basedCompensation</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995528 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/InventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/Inventories</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables</Role>
      <ShortName>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995530 - Disclosure - ACCRUED EXPENSES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/AccruedExpensesTables</Role>
      <ShortName>ACCRUED EXPENSES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/AccruedExpenses</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995531 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/IncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/IncomeTaxes</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995532 - Disclosure - EARNINGS PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/EarningsPerShareTables</Role>
      <ShortName>EARNINGS PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/EarningsPerShare</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables</Role>
      <ShortName>CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://sono-tek.com/role/CustomerConcentrationsAndForeignSales</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails</Role>
      <ShortName>Schedule of significant accounting policies - fair values of financial assets of the company (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails</Role>
      <ShortName>Schedule of revenue recognition - sales revenue by product line (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/RevenueRecognitionDetailsNarrative</Role>
      <ShortName>REVENUE RECOGNITION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/RevenueRecognitionTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995538 - Disclosure - Stock-based compensation - summary of stock options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails</Role>
      <ShortName>Stock-based compensation - summary of stock options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails</Role>
      <ShortName>Schedule of weighted-average black-scholes assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative</Role>
      <ShortName>STOCK-BASED COMPENSATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/Stock-basedCompensationTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995541 - Disclosure - Schedule of inventory, current (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails</Role>
      <ShortName>Schedule of inventory, current (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995542 - Disclosure - INVENTORIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/InventoriesDetailsNarrative</Role>
      <ShortName>INVENTORIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/InventoriesTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails</Role>
      <ShortName>Buildings, equipment, furnishings and leasehold improvements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative</Role>
      <ShortName>BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995545 - Disclosure - Accrued expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/AccruedExpensesDetails</Role>
      <ShortName>Accrued expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative</Role>
      <ShortName>REVOLVING LINE OF CREDIT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/RevolvingLineOfCredit</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995547 - Disclosure - Income taxes - income tax reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails</Role>
      <ShortName>Income taxes - income tax reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995548 - Disclosure - Income taxes - current and deferred tax expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails</Role>
      <ShortName>Income taxes - current and deferred tax expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails</Role>
      <ShortName>Income taxes - deferred tax asset and liability components (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails</Role>
      <ShortName>Schedule of computation of basic and diluted earnings per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails</Role>
      <ShortName>Schedule of customer concentrations and foreign sales (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="eps11317_sotk.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative</Role>
      <ShortName>CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="eps11317_sotk.htm">eps11317_sotk.htm</File>
    <File>sotk-20240229.xsd</File>
    <File>sotk-20240229_cal.xml</File>
    <File>sotk-20240229_def.xml</File>
    <File>sotk-20240229_lab.xml</File>
    <File>sotk-20240229_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>sotk-logo.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="414">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>69
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "eps11317_sotk.htm": {
   "nsprefix": "sotk",
   "nsuri": "http://sono-tek.com/20240229",
   "dts": {
    "inline": {
     "local": [
      "eps11317_sotk.htm"
     ]
    },
    "schema": {
     "local": [
      "sotk-20240229.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "sotk-20240229_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "sotk-20240229_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "sotk-20240229_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "sotk-20240229_pre.xml"
     ]
    }
   },
   "keyStandard": 218,
   "keyCustom": 11,
   "axisStandard": 13,
   "axisCustom": 0,
   "memberStandard": 21,
   "memberCustom": 18,
   "hidden": {
    "total": 13,
    "http://xbrl.sec.gov/dei/2024": 4,
    "http://fasb.org/us-gaap/2024": 8,
    "http://sono-tek.com/20240229": 1
   },
   "contextCount": 87,
   "entityCount": 1,
   "segmentCount": 39,
   "elementCount": 449,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 414,
    "http://xbrl.sec.gov/dei/2024": 38,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://sono-tek.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://sono-tek.com/role/ConsolidatedBalanceSheets",
     "longName": "00000002 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
     "longName": "00000004 - Statement - CONSOLIDATED STATEMENTS OF INCOME",
     "shortName": "CONSOLIDATED STATEMENTS OF INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity",
     "longName": "00000005 - Statement - ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "ONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "AsOf2022-02-28_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-02-28_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows",
     "longName": "00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2023-12-012024-02-29",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "b",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-012024-02-29",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "b",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://sono-tek.com/role/BusinessDescription",
     "longName": "995512 - Disclosure - BUSINESS DESCRIPTION",
     "shortName": "BUSINESS DESCRIPTION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://sono-tek.com/role/SignificantAccountingPolicies",
     "longName": "995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://sono-tek.com/role/RevenueRecognition",
     "longName": "995514 - Disclosure - REVENUE RECOGNITION",
     "shortName": "REVENUE RECOGNITION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://sono-tek.com/role/Stock-basedCompensation",
     "longName": "995515 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://sono-tek.com/role/Inventories",
     "longName": "995516 - Disclosure - INVENTORIES",
     "shortName": "INVENTORIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements",
     "longName": "995517 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS",
     "shortName": "BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://sono-tek.com/role/AccruedExpenses",
     "longName": "995518 - Disclosure - ACCRUED EXPENSES",
     "shortName": "ACCRUED EXPENSES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://sono-tek.com/role/RevolvingLineOfCredit",
     "longName": "995519 - Disclosure - REVOLVING LINE OF CREDIT",
     "shortName": "REVOLVING LINE OF CREDIT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://sono-tek.com/role/IncomeTaxes",
     "longName": "995520 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://sono-tek.com/role/EarningsPerShare",
     "longName": "995521 - Disclosure - EARNINGS PER SHARE",
     "shortName": "EARNINGS PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://sono-tek.com/role/CustomerConcentrationsAndForeignSales",
     "longName": "995522 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES",
     "shortName": "CUSTOMER CONCENTRATIONS AND FOREIGN SALES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://sono-tek.com/role/CommitmentsAndContingencies",
     "longName": "995523 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "995524 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AdvertisingCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AdvertisingCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://sono-tek.com/role/SignificantAccountingPoliciesTables",
     "longName": "995525 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueOfFinancialInstrumentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueOfFinancialInstrumentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://sono-tek.com/role/RevenueRecognitionTables",
     "longName": "995526 - Disclosure - REVENUE RECOGNITION (Tables)",
     "shortName": "REVENUE RECOGNITION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://sono-tek.com/role/Stock-basedCompensationTables",
     "longName": "995527 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://sono-tek.com/role/InventoriesTables",
     "longName": "995528 - Disclosure - INVENTORIES (Tables)",
     "shortName": "INVENTORIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables",
     "longName": "995529 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)",
     "shortName": "BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://sono-tek.com/role/AccruedExpensesTables",
     "longName": "995530 - Disclosure - ACCRUED EXPENSES (Tables)",
     "shortName": "ACCRUED EXPENSES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://sono-tek.com/role/IncomeTaxesTables",
     "longName": "995531 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://sono-tek.com/role/EarningsPerShareTables",
     "longName": "995532 - Disclosure - EARNINGS PER SHARE (Tables)",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables",
     "longName": "995533 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)",
     "shortName": "CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails",
     "longName": "995534 - Disclosure - Schedule of significant accounting policies - fair values of financial assets of the company (Details)",
     "shortName": "Schedule of significant accounting policies - fair values of financial assets of the company (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueOfFinancialInstrumentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R31": {
     "role": "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative",
     "longName": "995535 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails",
     "longName": "995536 - Disclosure - Schedule of revenue recognition - sales revenue by product line (Details)",
     "shortName": "Schedule of revenue recognition - sales revenue by product line (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-012024-02-29_custom_FluxingSystemsMember",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R33": {
     "role": "http://sono-tek.com/role/RevenueRecognitionDetailsNarrative",
     "longName": "995537 - Disclosure - REVENUE RECOGNITION (Details Narrative)",
     "shortName": "REVENUE RECOGNITION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "sotk:CashDeposits",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "sotk:CashDeposits",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails",
     "longName": "995538 - Disclosure - Stock-based compensation - summary of stock options (Details)",
     "shortName": "Stock-based compensation - summary of stock options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "AsOf2023-02-28",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R35": {
     "role": "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
     "longName": "995539 - Disclosure - Schedule of weighted-average black-scholes assumptions (Details)",
     "shortName": "Schedule of weighted-average black-scholes assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative",
     "longName": "995540 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)",
     "shortName": "STOCK-BASED COMPENSATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails",
     "longName": "995541 - Disclosure - Schedule of inventory, current (Details)",
     "shortName": "Schedule of inventory, current (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://sono-tek.com/role/InventoriesDetailsNarrative",
     "longName": "995542 - Disclosure - INVENTORIES (Details Narrative)",
     "shortName": "INVENTORIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryValuationReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryValuationReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails",
     "longName": "995543 - Disclosure - Buildings, equipment, furnishings and leasehold improvements (Details)",
     "shortName": "Buildings, equipment, furnishings and leasehold improvements (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative",
     "longName": "995544 - Disclosure - BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)",
     "shortName": "BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://sono-tek.com/role/AccruedExpensesDetails",
     "longName": "995545 - Disclosure - Accrued expenses (Details)",
     "shortName": "Accrued expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:AccruedSalariesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:AccruedSalariesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative",
     "longName": "995546 - Disclosure - REVOLVING LINE OF CREDIT (Details Narrative)",
     "shortName": "REVOLVING LINE OF CREDIT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails",
     "longName": "995547 - Disclosure - Income taxes - income tax reconciliation (Details)",
     "shortName": "Income taxes - income tax reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R44": {
     "role": "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails",
     "longName": "995548 - Disclosure - Income taxes - current and deferred tax expense (Details)",
     "shortName": "Income taxes - current and deferred tax expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails",
     "longName": "995549 - Disclosure - Income taxes - deferred tax asset and liability components (Details)",
     "shortName": "Income taxes - deferred tax asset and liability components (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails",
     "longName": "995550 - Disclosure - Schedule of computation of basic and diluted earnings per share (Details)",
     "shortName": "Schedule of computation of basic and diluted earnings per share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails",
     "longName": "995551 - Disclosure - Schedule of customer concentrations and foreign sales (Details)",
     "shortName": "Schedule of customer concentrations and foreign sales (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative",
     "longName": "995552 - Disclosure - CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)",
     "shortName": "CUSTOMER CONCENTRATIONS AND FOREIGN SALES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "From2023-03-01to2024-02-29",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "eps11317_sotk.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/AccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCRUED EXPENSES",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r37",
      "r41",
      "r742"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r554"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r501"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable (less allowance of $12,225)",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r696"
     ]
    },
    "sotk_AccountsReceivableReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "AccountsReceivableReserve",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable reserve",
        "label": "AccountsReceivableReserve"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r85"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails",
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "totalLabel": "Total accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedPayrollTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued sales tax",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedProfessionalFeesCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_AccruedSalariesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedSalariesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued compensation",
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r520"
     ]
    },
    "us-gaap_AccruedSalesCommissionCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedSalesCommissionCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued commissions",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r41",
      "r86"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r115",
      "r408"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r554",
      "r798"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r436",
      "r686",
      "r687",
      "r688",
      "r689",
      "r753",
      "r799"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation expense",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r29",
      "r250"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising Expenses",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r544"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r600",
      "r611",
      "r621",
      "r647"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r603",
      "r614",
      "r624",
      "r650"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r635"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r642"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r642",
      "r651",
      "r655",
      "r663"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for doubtful accounts receivable",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r186",
      "r191"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r197",
      "r203",
      "r531"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r607"
     ]
    },
    "srt_AsiaPacificMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "AsiaPacificMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia Pacific [Member]"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r802",
      "r803",
      "r804"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL ASSETS",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r94",
      "r117",
      "r138",
      "r168",
      "r170",
      "r176",
      "r177",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r321",
      "r325",
      "r344",
      "r401",
      "r463",
      "r528",
      "r529",
      "r554",
      "r581",
      "r711",
      "r712",
      "r758"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r121",
      "r138",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r321",
      "r325",
      "r344",
      "r554",
      "r711",
      "r712",
      "r758"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r607"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r658"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r657"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r656"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "sotk_BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings, equipment, furnishings and leasehold improvements, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://sono-tek.com/role/BusinessDescription"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BUSINESS DESCRIPTION",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r65",
      "r66"
     ]
    },
    "sotk_CapitalizedRdExpensesIrcSection174": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "CapitalizedRdExpensesIrcSection174",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized R&amp;D expenses - IRC Section 174"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH AND CASH EQUIVALENTS:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r113",
      "r518"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning of year",
        "periodEndLabel": "End of year",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r62",
      "r136"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "NET (DECREASE) IN CASH AND CASH EQUIVALENTS",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r62"
     ]
    },
    "sotk_CashDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "CashDeposits",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashUninsuredAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashUninsuredAmount",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash in excess of the FDIC insured limit",
        "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation."
       }
      }
     },
     "auth_ref": []
    },
    "sotk_CashlessExerciseOfStockOptionsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "CashlessExerciseOfStockOptionsShares",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cashless exercise of stock options, shares"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r633"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (Note 12)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r88",
      "r403",
      "r450"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r209",
      "r210",
      "r502",
      "r703",
      "r705"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r572",
      "r573",
      "r575",
      "r576",
      "r577",
      "r578",
      "r686",
      "r687",
      "r689",
      "r753",
      "r797",
      "r799"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r451"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, issued shares",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, outstanding shares",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r45",
      "r451",
      "r469",
      "r799",
      "r800"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $.01 par value; 25,000,000 shares authorized, 15,750,880 and 15,742,073 issued and outstanding as of February 29, 2024, and February 28, 2023, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r404",
      "r554"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r639"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r638"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r637"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r31",
      "r32",
      "r181",
      "r501"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r31",
      "r32",
      "r181",
      "r430",
      "r501"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r31",
      "r32",
      "r181",
      "r501",
      "r672"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSales"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CUSTOMER CONCENTRATIONS AND FOREIGN SALES",
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r501"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding accounts receivables, percent",
        "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."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r31",
      "r32",
      "r181"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r17",
      "r18",
      "r19",
      "r31",
      "r83",
      "r501"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r31",
      "r32",
      "r181",
      "r501"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r521"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods Sold",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r138",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r344",
      "r528",
      "r711"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r709"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r709",
      "r710"
     ]
    },
    "sotk_CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit line utilized to collateralize letter of credit issued to customers",
        "documentation": "Amount borrowed under the credit facility being utilized to collateralize letters of credit issued to customers for cash deposits on existing orders during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current income tax",
        "label": "Current Federal, State and Local, Tax Expense (Benefit)",
        "documentation": "Amount of current federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r685",
      "r752"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r685",
      "r752"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r181"
     ]
    },
    "sotk_CustomerDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "CustomerDeposits",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r685",
      "r751",
      "r752"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred income tax",
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset, net",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r105",
      "r685"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liability",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r402"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r685",
      "r751",
      "r752"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset - Long Term",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for accounts receivable",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses and other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, classified as other."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deferred tax liability - Long Term",
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-DeferredTaxAssetAndLiabilityComponentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Building and leasehold depreciation",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation Expense",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r25"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r168",
      "r173",
      "r177",
      "r528",
      "r529"
     ]
    },
    "us-gaap_DilutiveSecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DilutiveSecuritiesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effects of dilutive securities:"
       }
      }
     },
     "auth_ref": []
    },
    "sotk_DisclosureRevenueRecognitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "DisclosureRevenueRecognitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607",
      "r643"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r594"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r582"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r628"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r585"
     ]
    },
    "sotk_DomesticPatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "DomesticPatentsMember",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Patents [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic Earnings Per Share",
        "verboseLabel": "Basic Earnings Per Share \u2013 Weighted Average",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r156",
      "r158",
      "r160",
      "r161",
      "r162",
      "r167",
      "r316",
      "r319",
      "r334",
      "r335",
      "r398",
      "r413",
      "r525"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted Earnings Per Share",
        "verboseLabel": "Diluted Earnings Per Share \u2013 Weighted Average",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r158",
      "r160",
      "r161",
      "r162",
      "r167",
      "r316",
      "r319",
      "r334",
      "r335",
      "r398",
      "r413",
      "r525"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r164"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://sono-tek.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EARNINGS PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r163",
      "r165",
      "r166"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation expense, period for recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r278"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation expense not yet recognized",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r741"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "sotk_EmployeesAndDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "EmployeesAndDirectorsMember",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee and Directors [Member]",
        "documentation": "Employee and Directors"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r667"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r607"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r668"
     ]
    },
    "sotk_EquipmentAndFurnishingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "EquipmentAndFurnishingsMember",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment and Furnishings [Member]",
        "documentation": "Equipment and Furnishings"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r108",
      "r125",
      "r126",
      "r127",
      "r141",
      "r142",
      "r143",
      "r145",
      "r150",
      "r152",
      "r154",
      "r169",
      "r189",
      "r190",
      "r207",
      "r229",
      "r306",
      "r307",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r354",
      "r412",
      "r424",
      "r425",
      "r426",
      "r436",
      "r488"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r600",
      "r611",
      "r621",
      "r647"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r597",
      "r608",
      "r618",
      "r644"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of significant accounting policies - fair values of financial assets of the company",
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r754",
      "r755"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r355",
      "r356",
      "r357",
      "r532",
      "r533",
      "r538",
      "r539",
      "r540",
      "r548",
      "r550"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r242",
      "r247",
      "r337",
      "r342",
      "r355",
      "r538",
      "r539",
      "r540",
      "r548"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r242",
      "r247",
      "r337",
      "r338",
      "r342",
      "r356",
      "r532",
      "r533",
      "r538",
      "r539",
      "r540",
      "r548"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r337",
      "r338",
      "r339",
      "r340",
      "r342",
      "r357",
      "r532",
      "r533",
      "r538",
      "r539",
      "r540",
      "r548",
      "r550"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r355",
      "r356",
      "r357",
      "r532",
      "r533",
      "r538",
      "r539",
      "r540",
      "r548",
      "r550"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r195",
      "r202",
      "r531"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r514",
      "r531"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r205",
      "r206",
      "r366",
      "r367",
      "r514"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r205",
      "r206",
      "r514"
     ]
    },
    "sotk_FluxingSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "FluxingSystemsMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fluxing Systems [Member]",
        "documentation": "Fluxing Systems"
       }
      }
     },
     "auth_ref": []
    },
    "sotk_ForeignCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "ForeignCustomersMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Customers [Member]",
        "documentation": "Foreign Customers"
       }
      }
     },
     "auth_ref": []
    },
    "sotk_ForeignPatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "ForeignPatentsMember",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Patents [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r651"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r651"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r651"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r651"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r651"
     ]
    },
    "sotk_FourCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "FourCustomersMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Four Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r473"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross Profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r93",
      "r138",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r344",
      "r527",
      "r528",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r711"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r593",
      "r595",
      "r607"
     ]
    },
    "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOfLongLivedAssetsHeldForUse",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment losses",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r24",
      "r73",
      "r549"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r74"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before Income Taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r290"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r284",
      "r291",
      "r296",
      "r297",
      "r298",
      "r299",
      "r302",
      "r308",
      "r310",
      "r311",
      "r312",
      "r434",
      "r545"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/IncomeTaxes-CurrentAndDeferredTaxExpenseDetails",
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense",
        "totalLabel": "Income tax expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r106",
      "r153",
      "r154",
      "r168",
      "r174",
      "r177",
      "r289",
      "r291",
      "r309",
      "r414",
      "r545"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r285",
      "r286",
      "r299",
      "r300",
      "r301",
      "r305",
      "r432"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected federal income tax",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r545"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationNondeductibleExpense",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Permanent differences",
        "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 nondeductible expenses."
       }
      }
     },
     "auth_ref": [
      "r294",
      "r295",
      "r745"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r745",
      "r746"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State tax, net of federal",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r545",
      "r745"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxes-IncomeTaxReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Research and development tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r745",
      "r747"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r135",
      "r303",
      "r304"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued expenses",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes payable",
        "label": "Increase (Decrease) in Accrued Taxes Payable",
        "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "sotk_IncreaseDecreaseInCustomerDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "IncreaseDecreaseInCustomerDeposit",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Customer deposits",
        "label": "IncreaseDecreaseInCustomerDeposit"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Increase) Decrease in:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Decrease) Increase in:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other assets",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r604",
      "r615",
      "r625",
      "r642",
      "r651",
      "r655",
      "r663"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r661"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r596",
      "r666"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r596",
      "r666"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r596",
      "r666"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r363",
      "r364",
      "r366",
      "r522",
      "r700"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r701",
      "r702"
     ]
    },
    "sotk_IntegratedCoatingSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "IntegratedCoatingSystemsMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Integrated Coating Systems [Member]",
        "documentation": "Integrated Coating Systems"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r133",
      "r134"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r192"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r676"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Inventory, Gross",
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "us-gaap_InventoryLIFOReservePeriodCharge": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryLIFOReservePeriodCharge",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory reserve",
        "documentation": "The change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income during the period."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r519",
      "r554"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r112",
      "r119",
      "r192",
      "r193",
      "r194",
      "r361",
      "r523"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and subassemblies",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/InventoriesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for slow moving inventory",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r679"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in process",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_InvestmentIncomeInterestAndDividend": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentIncomeInterestAndDividend",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest and Dividend Income",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income and dividend income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59"
     ]
    },
    "sotk_LaboratoryEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "LaboratoryEquipmentMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Laboratory Equipment [Member]",
        "documentation": "Laboratory Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Land",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r674"
     ]
    },
    "sotk_LandAndBuildingsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "LandAndBuildingsPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land and Buildings"
       }
      }
     },
     "auth_ref": []
    },
    "srt_LatinAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "LatinAmericaMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latin America [Member]"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r802",
      "r803",
      "r804"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r353"
     ]
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letter of Credit [Member]",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r36",
      "r37",
      "r38",
      "r40",
      "r41",
      "r42",
      "r43",
      "r138",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r322",
      "r325",
      "r326",
      "r344",
      "r449",
      "r526",
      "r581",
      "r711",
      "r758",
      "r759"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS\u2019 EQUITY",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r89",
      "r406",
      "r554",
      "r684",
      "r699",
      "r757"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r111",
      "r138",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r322",
      "r325",
      "r326",
      "r344",
      "r554",
      "r711",
      "r758",
      "r759"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityForUncertainTaxPositionsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilityForUncertainTaxPositionsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Uncertain tax positions",
        "documentation": "Amount recognized for uncertainty in income taxes classified as current."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letter of credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r87",
      "r767"
     ]
    },
    "us-gaap_LineOfCreditFacilityCollateralFeesAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCollateralFeesAmount",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit collateral amount",
        "documentation": "Amount of the fees associated with providing collateral for the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unused portion of credit line",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r39"
     ]
    },
    "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "documentation": "The effective interest rate at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r39"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r683",
      "r709"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving line of credit",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r39"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r39",
      "r218",
      "r683",
      "r709"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r181",
      "r537",
      "r564",
      "r568",
      "r714",
      "r768",
      "r769",
      "r770",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MarketableSecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets",
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable securities",
        "verboseLabel": "Marketable Securities",
        "documentation": "Amount of investment in marketable security, classified as current."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_MarketableSecuritiesUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MarketableSecuritiesUnrealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0,
       "order": 3.0
      },
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows",
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net unrealized gain/(loss) on marketable securities",
        "negatedLabel": "Unrealized (gain) loss on marketable securities",
        "documentation": "Amount of unrealized gain (loss) on investment in marketable security."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r248",
      "r280",
      "r340",
      "r360",
      "r422",
      "r423",
      "r429",
      "r441",
      "r442",
      "r491",
      "r493",
      "r495",
      "r496",
      "r498",
      "r512",
      "r513",
      "r530",
      "r534",
      "r541",
      "r550",
      "r551",
      "r552",
      "r553",
      "r565",
      "r713",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "us-gaap_MiddleEastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MiddleEastMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Middle East [Member]",
        "documentation": "Region of Middle East."
       }
      }
     },
     "auth_ref": [
      "r801",
      "r802",
      "r803",
      "r804"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r248",
      "r280",
      "r340",
      "r360",
      "r422",
      "r423",
      "r429",
      "r441",
      "r442",
      "r491",
      "r493",
      "r495",
      "r496",
      "r498",
      "r512",
      "r513",
      "r530",
      "r534",
      "r541",
      "r550",
      "r551",
      "r552",
      "r565",
      "r713",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "sotk_MultiAxisCoatingSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "MultiAxisCoatingSystemsMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Multi Axis Coating Systems [Member]",
        "documentation": "Multi Axis Coating Systems"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "auth_ref": [
      "r181",
      "r537",
      "r564",
      "r568",
      "r714",
      "r768",
      "r769",
      "r770",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Cash Used In Investing Activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r132"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH FLOWS FROM INVESTING ACTIVITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Cash Provided by Operating Activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r64"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH FLOWS FROM OPERATING ACTIVITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r64",
      "r90",
      "r109",
      "r122",
      "r123",
      "r127",
      "r138",
      "r144",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r153",
      "r154",
      "r159",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r316",
      "r319",
      "r335",
      "r344",
      "r411",
      "r471",
      "r486",
      "r487",
      "r579",
      "r711"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "sotk_NonEmployeeDirectorsStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "NonEmployeeDirectorsStockOptionMember",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Employee Directors [Member]",
        "documentation": "Non-Employee Directors"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r632"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income (Expense):"
       }
      }
     },
     "auth_ref": []
    },
    "sotk_OemSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "OemSystemsMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Oem Systems [Member]",
        "documentation": "OEM Systems"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Operating Expenses",
        "label": "Operating Expenses [Default Label]",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating Income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r527",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other accrued expenses",
        "documentation": "Amount of expenses incurred but not yet paid classified as other."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r634"
     ]
    },
    "sotk_OtherProductLineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "OtherProductLineMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Product Line [Member]",
        "documentation": "Other Product Line"
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "us-gaap_OtherResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development expenses",
        "documentation": "Amount of other research and development expense."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r602",
      "r613",
      "r623",
      "r649"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r605",
      "r616",
      "r626",
      "r652"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r605",
      "r616",
      "r626",
      "r652"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r630"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireMarketableSecurities",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of marketable securities",
        "label": "Payments to Acquire Marketable Securities",
        "documentation": "Amount of cash outflow for purchase of marketable security."
       }
      }
     },
     "auth_ref": [
      "r698"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of equipment, furnishings and leasehold improvements",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r633"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r633"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r632"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740"
     ]
    },
    "srt_PlatformOperatorCryptoAssetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "PlatformOperatorCryptoAssetLineItems",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Platform Operator, Crypto Asset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "srt_PlatformOperatorCryptoAssetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "PlatformOperatorCryptoAssetTable",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfSignificantAccountingPolicies-FairValuesOfFinancialAssetsOfCompanyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Platform Operator, Crypto Asset [Table]"
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r632"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r589"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r591"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r680"
     ]
    },
    "sotk_ProductLineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "ProductLineMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Product Line [Member]",
        "documentation": "Total Product Line"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r178",
      "r365",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r516",
      "r535",
      "r563",
      "r565",
      "r566",
      "r569",
      "r570",
      "r706",
      "r707",
      "r714",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated warranty costs",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r215",
      "r216",
      "r217"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "auth_ref": [
      "r178",
      "r365",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r516",
      "r535",
      "r563",
      "r565",
      "r566",
      "r569",
      "r570",
      "r706",
      "r707",
      "r714",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows",
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity",
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income",
        "label": "Net Income",
        "verboseLabel": "Numerator for basic and diluted earnings per share",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r122",
      "r123",
      "r131",
      "r138",
      "r144",
      "r150",
      "r153",
      "r154",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r316",
      "r319",
      "r320",
      "r323",
      "r324",
      "r335",
      "r344",
      "r399",
      "r410",
      "r435",
      "r471",
      "r486",
      "r487",
      "r546",
      "r547",
      "r580",
      "r681",
      "r711"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r353"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r100",
      "r103",
      "r104"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Totals",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r114",
      "r409"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r353"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment, furnishings and leasehold improvements, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r353",
      "r400",
      "r409",
      "r554"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment, Furnishings and Leasehold Improvements",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r100",
      "r103",
      "r407"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings, equipment, furnishings and leasehold improvements",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r353"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful lives",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r241",
      "r248",
      "r274",
      "r275",
      "r276",
      "r280",
      "r340",
      "r358",
      "r359",
      "r360",
      "r422",
      "r423",
      "r429",
      "r441",
      "r442",
      "r491",
      "r493",
      "r495",
      "r496",
      "r498",
      "r512",
      "r513",
      "r530",
      "r534",
      "r541",
      "r550",
      "r551",
      "r552",
      "r553",
      "r565",
      "r573",
      "r704",
      "r713",
      "r756",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r241",
      "r248",
      "r274",
      "r275",
      "r276",
      "r280",
      "r340",
      "r358",
      "r359",
      "r360",
      "r422",
      "r423",
      "r429",
      "r441",
      "r442",
      "r491",
      "r493",
      "r495",
      "r496",
      "r498",
      "r512",
      "r513",
      "r530",
      "r534",
      "r541",
      "r550",
      "r551",
      "r552",
      "r553",
      "r565",
      "r573",
      "r704",
      "r713",
      "r756",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, net",
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r184",
      "r185",
      "r187",
      "r697"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r597",
      "r608",
      "r618",
      "r644"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and product development",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r283",
      "r514",
      "r528",
      "r766"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Product Development Expenses",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r282"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r598",
      "r609",
      "r619",
      "r645"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r599",
      "r610",
      "r620",
      "r646"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r606",
      "r617",
      "r627",
      "r653"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r78",
      "r405",
      "r427",
      "r428",
      "r433",
      "r452",
      "r554"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r141",
      "r142",
      "r143",
      "r145",
      "r150",
      "r152",
      "r154",
      "r189",
      "r190",
      "r207",
      "r306",
      "r307",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r327",
      "r329",
      "r330",
      "r332",
      "r333",
      "r351",
      "r352",
      "r424",
      "r426",
      "r436",
      "r799"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total sales",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r92",
      "r168",
      "r171",
      "r172",
      "r175",
      "r177",
      "r178",
      "r179",
      "r181",
      "r238",
      "r239",
      "r365"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://sono-tek.com/role/RevenueRecognition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUE RECOGNITION",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r240"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue Recognition",
        "label": "Revenue [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r472",
      "r515",
      "r524"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative",
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales",
        "verboseLabel": "Sales revenue",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r92",
      "r128",
      "r138",
      "r168",
      "r171",
      "r172",
      "r175",
      "r177",
      "r178",
      "r179",
      "r181",
      "r188",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r344",
      "r399",
      "r528",
      "r711"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "sotk_SaleOfMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "SaleOfMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of marketable securities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r671"
     ]
    },
    "sotk_SalesRevenuePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "SalesRevenuePercent",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative",
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales revenue, percent",
        "documentation": "Percent of Sales Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/AccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued expenses",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes - current and deferred tax expense",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes - deferred tax asset and liability components",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of computation of basic and diluted earnings per share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r690"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes - income tax reconciliation",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r545",
      "r745"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "presentation": [
      "http://sono-tek.com/role/RevenueRecognitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of revenue recognition - sales revenue by product line",
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of inventory, current",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r51",
      "r52",
      "r53"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails",
      "http://sono-tek.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r353"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation - summary of stock options",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r8",
      "r80"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of weighted-average black-scholes assumptions",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of customer concentrations and foreign sales",
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r17",
      "r18",
      "r19",
      "r31",
      "r83"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r583"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r587"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r586"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r592"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "auth_ref": [
      "r179",
      "r180",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r438",
      "r439",
      "r440",
      "r492",
      "r494",
      "r497",
      "r499",
      "r500",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r517",
      "r536",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r567",
      "r573",
      "r714",
      "r768",
      "r769",
      "r770",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketing and selling",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected dividend yield",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected volatility, maximum",
        "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected volatility, minimum",
        "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk free interest rate, maximum",
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk free interest rate, minimum",
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares available for purchase",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r543"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Stock Options exercisable at beginning of period (in shares)",
        "periodEndLabel": "Stock Options exercisable at end of period (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average exercisable at beginning of period (in dollars per share)",
        "periodEndLabel": "Weighted Average exercisable at end of period (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cancelled (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cancelled (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options cancelled in settlement of shares issued",
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r261"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock options for employees, directors and outside consultants",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in shares)",
        "verboseLabel": "Options granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r259"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average grant date fair value, per share",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r269"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of options outstanding",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Stock Options outstanding at beginning of period (in shares)",
        "periodEndLabel": "Stock Options outstanding at end of period (in shares)",
        "label": "Options outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r256"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average outstanding at beginning of period (in dollars per share)",
        "periodEndLabel": "Weighted Average outstanding at end of period (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r256"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Exercised (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r260"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails",
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in dollars per share)",
        "verboseLabel": "Options, exercisable price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r259"
     ]
    },
    "us-gaap_ShareBasedCompensationForfeituresPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationForfeituresPolicyTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-Based Compensation",
        "documentation": "Disclosure of accounting policy election for determining cost for share-based payment arrangement by either estimating forfeiture expected to occur or by recognizing effect of forfeiture upon occurrence."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r251",
      "r279"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options, expiration period",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfWeighted-averageBlack-scholesAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected life (in years)",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r273"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining term outstanding",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options, vesting period",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r272"
     ]
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION",
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r79"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance, shares",
        "periodEndLabel": "Ending balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTextBlock",
     "presentation": [
      "http://sono-tek.com/role/RevolvingLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVOLVING LINE OF CREDIT",
        "documentation": "The entire disclosure for short-term debt."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r137"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r590"
     ]
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StandardProductWarrantyPolicy",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty",
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability."
       }
      }
     },
     "auth_ref": [
      "r708"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r45",
      "r48",
      "r49",
      "r108",
      "r125",
      "r126",
      "r127",
      "r141",
      "r142",
      "r143",
      "r145",
      "r150",
      "r152",
      "r154",
      "r169",
      "r189",
      "r190",
      "r207",
      "r229",
      "r306",
      "r307",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r354",
      "r412",
      "r424",
      "r425",
      "r426",
      "r436",
      "r488"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r179",
      "r180",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r438",
      "r439",
      "r440",
      "r492",
      "r494",
      "r497",
      "r499",
      "r500",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r517",
      "r536",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r567",
      "r573",
      "r714",
      "r768",
      "r769",
      "r770",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity",
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails",
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r143",
      "r169",
      "r352",
      "r365",
      "r431",
      "r437",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r451",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r470",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r488",
      "r574"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity",
      "http://sono-tek.com/role/ScheduleOfCustomerConcentrationsAndForeignSalesDetails",
      "http://sono-tek.com/role/ScheduleOfRevenueRecognition-SalesRevenueByProductLineDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r143",
      "r169",
      "r182",
      "r352",
      "r365",
      "r431",
      "r437",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r451",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r470",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r488",
      "r574"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r601",
      "r612",
      "r622",
      "r648"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensation-SummaryOfStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Exercised (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r44",
      "r45",
      "r78",
      "r260"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cashless exercise of stock options",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r45",
      "r48",
      "r49",
      "r78"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock based compensation expense",
        "label": "Stock or Unit Option Plan Expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://sono-tek.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets",
      "http://sono-tek.com/role/OnsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Balance - February 28, 2023",
        "periodEndLabel": "Balance - February 29, 2024",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48",
      "r49",
      "r68",
      "r453",
      "r469",
      "r489",
      "r490",
      "r554",
      "r581",
      "r684",
      "r699",
      "r757",
      "r799"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Disclosure:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r633"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "sotk_TradeshowAndDemonstrationEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "TradeshowAndDemonstrationEquipmentMember",
     "presentation": [
      "http://sono-tek.com/role/BuildingsEquipmentFurnishingsAndLeaseholdImprovementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tradeshow And Demonstration Equipment [Member]",
        "documentation": "Trade Show and Demonstration Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r664"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r665"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r665"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r663"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title"
       }
      }
     },
     "auth_ref": [
      "r663"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r664"
     ]
    },
    "sotk_TwoCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "TwoCustomersMember",
     "presentation": [
      "http://sono-tek.com/role/CustomerConcentrationsAndForeignSalesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Customers [Member]",
        "documentation": "Two Customers"
       }
      }
     },
     "auth_ref": []
    },
    "sotk_TwoThousandThirteenStockIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "TwoThousandThirteenStockIncentivePlanMember",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "the \"2013 Plan\" [Member]",
        "documentation": "the \"2013 Plan\""
       }
      }
     },
     "auth_ref": []
    },
    "sotk_TwoThousandTwentyThreeStockIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://sono-tek.com/20240229",
     "localname": "TwoThousandTwentyThreeStockIncentivePlanMember",
     "presentation": [
      "http://sono-tek.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "the \u00932023 Plan\u0094 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r660"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://sono-tek.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r22",
      "r98",
      "r99",
      "r101",
      "r102"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Shares \u2013 Diluted",
        "verboseLabel": "Denominator for diluted earnings per share",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r162"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://sono-tek.com/role/ConsolidatedStatementsOfIncome",
      "http://sono-tek.com/role/ScheduleOfComputationOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Shares \u2013 Basic",
        "verboseLabel": "Denominator for basic earnings per share - weighted average",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r162"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://sono-tek.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r669"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-4"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.FF.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476188/405-10-S99-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483044/730-10-05-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10A"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-4"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483385/720-35-55-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r671": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r672": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r673": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r674": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r682": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r683": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r684": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r685": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r687": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r688": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r689": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r690": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r693": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r694": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r695": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r696": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r698": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11"
  },
  "r699": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r700": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r701": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r702": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r704": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r705": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r706": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r707": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r709": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r710": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r711": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r712": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r713": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r714": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r715": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r716": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r717": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r718": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r721": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r722": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r723": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r724": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r727": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r728": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r729": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r730": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r731": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r732": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r733": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r734": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r735": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r736": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r737": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r738": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r739": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r740": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r741": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r742": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r745": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r746": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r747": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r748": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r749": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r750": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r751": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r752": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r754": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r755": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r756": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r757": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r758": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r759": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r760": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r761": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r762": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r763": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r764": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r765": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r766": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r767": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r768": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r769": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r770": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r771": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r772": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r773": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r774": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r775": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r776": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r777": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r778": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r779": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r780": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r781": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r782": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r783": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r784": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r785": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r786": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r787": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r788": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r789": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r790": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r791": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r792": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r793": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r794": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r795": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r796": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r797": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r798": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r799": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r801": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r803": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>70
<FILENAME>0001171520-24-000208-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171520-24-000208-xbrl.zip
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
M#%?"* 7N-$P_4LEP!&]87]M^EF0OP_,DKD8O0OCWRA/9&6<FJV7RIX+IK$]
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
M_%>E\3#R0O_VL"[DPQ^Q[@,'/\^+- Y3:B.I"\IB5:+? /6/<935 U#LT+,
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
M6\/C:$9T.0AK6;' G9;)^-R,_F3T",W+086\!0=(3J"&1#.D-CANM)6(DC7
MG9#GS3;FDRH9)W]R)P%$EN!R=6"=4MDYP%4S(K"^NFB#Z GF0/00LU7^Q-&L
MZSY[22RO2WN1>Q'\AU C6[!"W>$-AAY!?C40+N_YMF.A1CA,\QYBODD39P/E
M-%3YL(@F(^)V%C/CY(((<X:0.H,B'P>$M0-;3_]EN4ZLP23#K60\%=*N2GK&
MD7_A018Z,#R=<&O[+_K2Y#<RZ!4^E==5B>Q)J 9KQVN,6A-E41S=8RI;V)UC
M$8$+ +#SENDM,&M:=@L2;31A\+B$Q?RR6'U175!_MX@742APN@[8A:^K3@DP
MU.A7@A]HH79:1:HN3C7@.PX^J@9-LD#!'=:@5F%[7:B3QQ3F>=#\MEM@+DF6
MGV>2E]0"H-&Q"H'<]:)TDRH&RK&YH0Q>"M9'GQH$4X:F+"U'"^^M(IM2 @RH
M,S7AEI"A@:TN"7^K&$:95CN6'/<P.(XD'(.L">"G([<:$6VK6R)K(A@V86C'
MJV<@B,9*8'@8--N:(3,B3_.SJR'2<X+QNV2MA\%:NX4'Y:?W&QD) >QF_ \6
MC\G!]P--&F%M5_O8W]0"#)%;=<DI#X13VM0LL+<H-;,<*24NG2P''NI5'>M>
MZ:DT ?:PWJ-:?!H,=:J;/0U PTH<L5879:T$BQ?].D.$C8'7L6!#'TTU<I'W
MH^$0F1$=3_1LPO$BN@_[3F:/9_.2!*PSW3[^6WCW[]P:0]I,[[\Q=FAW<DK
MRGDXJ M)QCN+!/V78&O;VY:XLBCPNH=(6P<'/-Z I!.:*L&BXGL*1$!M *H*
MHPH6>$]ANT$TTD'I5RWXA(T+DCL2&#@CP9@V#$]W*%RT0**<FB,BA  #3NCV
MY8Q36.$W456Q]U=[CW&%UI]*KJ=$,:78W2Y8X/C#P*2T:5.GHS73"<;3T-7A
MP^ AB-OJ"#0$$NRG28H=(;371+H9$,@>>V6]=PK"X!F[M+X&AK#FO[OD:0)X
MK91V&Q,4.\N8),OR,]X4E\\Z'ODTP3J!4*>*4JT8V<UA&HHWJE 1,%>5+]T+
MBWKO_8S1 .1QXUCDK4T)SY_V5VM+8P>'6LNV"9AZE<!=<HL&^QL;I4-';5V
M55DA%#K&T.Y=!\@[)>J!"WP,LB,CP37)STF>L/!+5=3 .+9RML.-)BSTG /3
M*>TA\(*_9CO"I?)YWP^A9),QDCCWBR'YZYHG=#]=XL4;YV7E@<)J=]Z22QX(
ME[Q'*P04-NS ((Z2&2[ >[K/KN&2&B4L-_]A;/Y''?;%;GC8@8,H7BBX.A@N
M'.T/Q-;GQN+?RMR[-)GKZ2-.YMI:)G/-9:"3''D8HTY).9*<@;SW.V-3<%:*
M-C*U53:&9V& ..EC?D<Z#6*%S>FXLT2>L0%#?7AJT*DP_(D=C"CW 'F,>E?9
M-AZ<KL2]A"@)B&#$;9ZMA"ZHYY:VKFWKCQFC><&ZR^R>14FJ7>SY(#R*SL/W
MNB#L_GM:_BXHRVBCV(YAF M+[9>B&%.R,<4%-&50K6T7KLA9-S;H\YI%A@2N
M:MJW6E1$U6PY^Y5:A]TUF7ZFA#&BD6W9A)GIZ(MB)$<,N(RILZ9TBJD)\A&4
M2/QI6=:*6M2F#4IIVG@YDY2DP@1.)16$VO7%"9X;2B)$CQ-""]%K$DHL^96\
MF?!";&7GHG1C4H\:]])$]P C%RPU'?6Z[.)[FOV$S/AN]- D(][C+?L5$^\<
M $T@Z00],,F@3CE7#S[B;B- 6^O;X>9R4\X;#RXS+-WV2D"W-!E3+Z1S=!UF
M%66%X7XW$V*Y+RVU7'6Z'5/&%C=\#,D%&-.#&?O+ MH;RLCBKG&4*N3AT?7!
MMBE>A/^U0?_S,NQ%_=,AY8ZNRE?G(YC?RJLUMS?XO=PZEJSS2H3NOU#]M7'E
M4OIG#KH4,.-8PA'HP[4YP?4DUPEW9IV!-,&&2Y&[:QI<["L<WC9#9<:B:>L.
M%:%7O-0''[,4JZ(>-UW?V*E/)X3:]&#=@8>2*=DUKYU7=67N1)-6Y;:J?,.G
MR4F%8U^8^7N33BG,!^CSWQN=Y\^?=M;7UXDJ\&=W:P?_I$*A"2L[*)WS2YIP
M1=RW,Z$D:Q;20"ET$UC!B]YM'137N<"P<SE.U7$6X8VG+A**;[<_C;TX^2BC
M=AP-S:%U:YMFJJ' X$0,*DX![&ZM/?T+_0;^M?F7,,F:U J83"X)[K%$YF.-
M#:((Z["&A7SDWO +$I(R7ETXNYP:EF12;2:YGS;_G02\;72#V9L!-WHO;7=.
MG3Q<9Z8'O FTS&;@.IT_Y5#Y'=0[3DLK<71*4RV;6 :O#D:<(J+Z-;XPR[/5
M&-@JS0V(.7Z$S^*CT;!0 IG/R>7V1N.6UDH$3C10PQJ5#;Y&G4V>R";3NN6]
M6%.0X$T:I4%S!HTWXGBG:NIXP+W7H5Y$8*@V(X&KMUHF<'_9B\_&'A$]8<3X
M^WXB,$^=HI.*"PEDZF<V;L%]!\T58-(J2S7D-EY8"V(9+4*%&AC,(G.TW6X=
MM\N#1,XX7V[(-0]^]VIXM]O*C>/Z1F+3*0XHB3[!:)Q)R=/QV(&B<D!\:TN1
MB44.PG99J_5$BW]B]3$L"(.T<O]9^DSRDO88A8-IKJ;;J2E0\1E7TLF?02UB
M3![+-C_E3,]-;-/-F>8E!2Y3.*M2>"U[0W<K6.W8U!D(DJ)4ZUON"ZC7<<$W
M)/?IF2V@M>FQ=-^3FYW$H^RWHZ8X@I'E6JG\+I]WS9RW'H__=VT[R5I'E@\3
M4MM>A*OT2WNU$0 9;>V1&H)T0HH?4U+_(:?R!]*@$"7O<155PI:<TT__/';*
MJQ:H0>UUU+E,Z=HM[.)CQ'GNDL:O<B#75IWI%K/ ,D5^D:!5!R?EOY]WGF]L
ML!8(7TH=196C66M>Q1%V^.G&]I;YZ?:<GWJ*U-=DR4L]O<\>L:=W^P%Y>K^%
M^W%?ZV#W7T+LTL4PTYV<;R)>1AP^WZ .L*M5,F9=M+M!&C9]$!B-T\N=DBYS
MJ<[1TDJCU4_1^3/4+KQPF.?WV7'E^95!NW=NE?N_R5)A!X8(1B!TD_K$+H'R
MG!QU!<4P_.(8K(*";/-@_X)R@U6XVZ>TS.[.YA8I?2 J,*E]+3S!@D4\YL0[
M W1 ""9LH3!)DU.Q+D#1Q!O6JD4:8,W>TB:WU+Z??JGG$(!&/DY*:A&F<6>/
M]_<TZBQ-)80/C*Y'?A35XUKB*CP_/U\K57]MF)]IOY_\#%]ZP]E2(B.JN9@:
MF6E/(BW?-K!B)S6IR&&<KX6[IA@X);@+U+SDO3#I*1PBS$N*Q5Z<)(JJ17%V
M'VO0]_J@R)#+&83P48XE<@.ZIW'-\+ON^GKXELK\5-4)/ZSMKW7"7['7;3:L
M\JP3OMF#,[Z]M;/F<C&N070C&4H4V7+..V6>>4]2'D%MQG6BTMQ=?;Z^O@I#
MK*YO;J[?XU/MV@,>BXRJ:O+BR1/BE#S+5RMUN@;:]UIX*$7%\#OD\\ 6;TP2
M993LMT#5,GR^^DL'-D/^[S\[Z%BYX!C>;H;I^D!2*N  QBAS=$RC#PR5<Q Q
M:(2@;ZQ/XB8:H$$ 7$45S!Y?$8!NH'WJSN'9WUL+]WA:%+H@;Z 68!WZ(88-
MX$P50_B;G-G'N-@3=0H/FF;:>". P#_*T4.P\VLG?)^DQ$<??H.+8'OKV6TV
MN*EYF6>OI\20CSV)_[8"^S#N1O")XSZ_'[D:.U>D5/"=X@8+B$5CU1>ZO^"&
MV+#E:N75P<G^^["[&YIU]F[:O8;>=W1P_,MQ>+3_;O=D_TUX<A@>?CH*7W\Z
M/OBP?WP<[GYX$QY^W#_:/3DX_'",[W R1[XLT>+K*EX- U#LOZ^C _R*(IR"
ML>2RLR$$C HDE6UDZ4)R%* 2937<HW0\*9%-N^"-Q46@UBQ4:\YE)R0#$D[&
MK6U^WL%D<Y00Y"MW[#:\C1@/*58$C.$^)24>ZCQP''=T!4:94XB&;@;)ON%Y
M:U?G(*F$3!@8OM]Z3SM3O%;]"$L4SEWE4S:4[S(0L\6X8S<VD,([&\9U-]I4
MJ-N-<;>7+6N4OW"4P82-^0F85 *T)C^H'I:1"4B)!CT,)^*'HH*2U"%)56X\
MICW3@YJ"^&Y62%F7?,%A4COF0N.\],:"+@+&/-W[HHK@TR56 4780#,RQ0KN
M4Q3O,8[W\R1->61O$FN$VSN "X?*7'/GJN5T>YVK8BIMC;DP2B;H^:K3V 2+
M4P'-,+D/$;GD@MP- 4B);IVR#LN>4*G=7CQ)<X!*&1KW7)T!)SX<4)+Z[WE3
M;G@X0BB7@H:/QI-&J'0X 0O95=XO^4.H#[<1WC]A,L #0\TTC6BRGE13D]78
M010V@0-\XTFI&<0EGDK+YLE<>FIF]S&F,*!@ \;DV6HIE0N>5<J$$16&?+6,
M?&2KUG+0;8>1J8BL%U6NO<UM(4]()EF;54^I8.=YD*+.A]G4EHLN\>EU-PP8
MBO'+K867OO%Y1]R+\L;PDC<&+6_<:GOC00L7QHQ/.9CZH@2]X/QRD8B:LPPO
MC51TEE!X2H1LD&<S_-,\6WQ&]"-]1>DD)LDDJ\<]RJ.[['2.5:2#!TB]-&??
M?-0XUX%_1/#$()\72D<;M8@OT?)J/MTX8.%Y4Y;2.,HG\'P!VRY3.7(X(9<"
MI>YK+S)+ ?37DL!RM8\T]>"XA ?:9)07HX=)!':>NG80O0VE4IR/1=O\,ASE
MYQA=Z<QLI:0TL@'OWM:@<N'E7TLQBTT<J'1)#U6:I?J.#?A5'1(]&!I+UTQ,
M8.9:%H4N5MA>.*84/+Q2TQ1A1DCJT34M*H:\!Y4Q>(B]'3'K;)I/@/<P4 6W
M<\!I$&@I*I"N$LK5RT%I:71(U@>=-\M\.JPN(BO$,U/7JJ)13 XN$[4!#P-$
MJDJ-4=# UL!>#A7S0)J<(G>0!AT9OM3,)^$VC?'R7:[Q2X,!SQ]Q,.#I PH&
M?).+F>L(Q^09O50/$V&(1ZFODC/&CTGPRLIP5PD;4?(]4*[RY!O:( ,LM@B!
M:RH_Y#L5G1WSJ?# 4X<F+]%C N-'8YIL"/(VYH>Y5AMC BCXT>&8DW+(0E)N
M7C[RV9RCWG[1\$IA9NCYG>"4L-8:_5EP_>0EO[^/36+ TD[*4QP-Q9 F:&@)
MVI$$,AB ?@G_!9H,1Y5"'V9<:[3')(\)@P],;R!_/J:LOHPU6;#BX2)7&1-+
MIO17#IE6$>/.N5NH(;"=["/L+(M"#_>@T%,'HYH-KN; M$HQHN2WF&<F[6EU
MGKN[<O?UR Q$+%1Z8*GDOP8Y49#R3IU-,AT%,(D(2"4BH05T !T'F44Q/^#;
M:.P AA4%""X@2CRL[.QAOTM.SHTQ8X,S%[*D(G4FY@?;UC=G,=I"E1O2M5(#
MFI;S*KIH3.(&L"2_C-1$YR6D])SE24Q7K%I,4U%?_(K/0A$1OJ6UO 9U%A/Q
MM:'FFLV=@!$4B%$:ZI^K0G..[(+:1_P.H1-+0%0]FB(XTT"R<>"MFAU@P" )
MNN;E*XMK$O7_J!/.'S(Y^:!04=PD)USG,SPY&&.C[%M=:$.F<Z_2(AD^<H-#
MO&V!*\U- ))D$UA#O.4C-::4'X5Q!X-%[)31D8#N6&G,VEP,$\)Y,7MH.>4&
M"92-1U%\, Z(B5*$X="J(P,0]T%@P\H$LX)P7JI\UN&$C^$Q1SS7\9CRYE&?
M+#BAJ9VBGM]8]V0Z!Q;'R6 JBZ+$>H^I>0J4;J7/@8 !B_U'F!A\6L06HDQ_
M-<RU9S4Y<S #?*091!DVV!Y5H&NXYIR[WI1J3330;X7)=CJRV1&$G+Q_*G6-
M1'$'*L35&.*$L\\:Z_)YJ!.@96(W$<=+LC-*/@?!"$9A7Q+Y8$LBG?N*OP)C
MZE3,,EPSKG"6B77EF4XX0TY$D\NY((F5!MB_C680X-Z+#\GUG6,,9SP&48S#
M$B.3'>@XC.15D5B8J%NP":YGF#= B-SR-IH^+%82 @,^'>=*+A1EW)4S3[<X
MG-Q2*YURCPF-TJ).@QBQS59R6GC;I.B^A4T(D-$7^K)I]\<!>=KR/[46%;A,
M@@$/ZKR&4#<IQM#9;X Y7\,ZM5#)DSP5D$4G,?_N/77?@HCM[_@5(:4QB=LO
M./-!YEDK.U>!=KKDGB^% PQH8M0]U$,K9#WG?A/?22N$<5-*XOFU>":BBF.U
M168JH:C:0NO&=2;Z9#75X+R>C(B3LJ@G,CPI&Z@74C6C(]X:QVRH<KOQ5-<G
MRFC,"W;*0 +-1TB1 0BLRG3I.ZKATN8LSD^G!,[/$L1H/\Y!-<PY/Y)@98,;
MF=#G('#/ :J_F1IRUC0O3.?ERA%A^K63C-].Z9NZS,RL#;9!UJ+]@NS6<BD6
M$.H4SEAWV#6'T:7E[.":< =E$0G@_=^C<;18LJK]'7NN-] 6438NW#Z8KN$@
MS<\##R\8DYUD5_A.'><QO*ECU2%VL%GEQWK4/">8;B%@7^Z? ?P>U(3^*9X'
MP=D)V'2GC/C25[T20CN;U%4SKRCQ_-"BW $SX,TYJ*ET7'HN$.QH/8 98)M5
M$P-"WL(*3;@OL04)QRYM&-(J'#B-:9O781)-2>G$KYA,\(F@U7=:7 BP!+3N
M,Z=V6_M@@2I/4 O)4>."8Q?X'HDV4NMGQ&-1ES,>R?DVCR0?&V@C/J+"&&N2
M/XY:A?D%"P9M:;N"H 'X*I6ME&Q&5C0#XF@)2@D[99GW$^OPH>)NI]8!Z))B
MF0[>FHWDO4"<XRHC#=>A9!J=ZQ*DC!3<VG<!=:3!!A"G4AQD& /O<:6%H]A4
MT06-U;$2I55.@UT9H2->%45>8/\"6^O7X1H(Q7IECK%V96(/< %%[*7W=84,
MJSY0!TC*J*R(J6W1R4A%*1!*31*J^*8SHLN_%TMTN>B0<EK9E\%AIPXIZ!Q/
M@X^P+JNCKQ73VR+P$>UT0N=888#*I*DQ(])QK%0T[G@!J?,1=DAP?'97N>GU
MA;J@#@*7W$G92N5&/H9'\7 .Q7T2M_G5=!X/JQSDE*.*IP&F?=K&,]0X1Y?K
M2NH?9>20S%X+3IR](X-<5\Q*Q;HVL0D^ #UE9N1;;;*G0\W8 X$;GY^)V7H1
MP-G5^]-;NT8\9N<1QV.>+>,Q5]NK)#^U=Q0VSSEACKO!Z?)$?@+.4?)2C+0-
MUJ;L<&F#R[ZEMG9$-[#JA7/^)1.*H'TN/8/!PQ"T_(Z#>;A%7.)I7*2!B[,I
M:1WGC0T=)87G=6L1G_-BXTE,Z"/-72-A;IU6^E<H\L<==_MIQSCG#3U]N;^S
MS!#RD,,(-[Y0%T=[:7_';HK)YL.1!V9D;TLN&-?D"*RWH-2V/B.QE*.\P)00
M#F5$G(// ^8]0EW%D0C5&"..%0?V=$&PV%*4ZNB5_O+@;'B#!:(S)E4<^*_%
M[=4&&3!>762$GTR>/-+3I:Q8US@1N[IV(UZ^DG4*K^L7N7&@&%<B,PAVQ"/V
MU&\+^GE9$9@ V_)V&CDEI8]MD%>2+YP5$_[-4,E$VR]=4Y?5$1,!IZ&]%WXV
MD,/A!LQ SB[6%W'<54I)<JFIX>!!6/9'8+>F1$GCQ4>V9RW&^)I40]EH9GX%
MYM2WK(!;0Z6DZL!H6.)"+("X]X2U0FDV9)?"\9:PIFOMZ ->1:>20&-:%6+O
M64&^33)A#Q=UR^Z0V1<).!?Q*J9C3\GY!JMCPYEXM\X8U%I9BHLHD/" T;,N
MR81<"W8MY_M\VX&_,3PR8)!P)<!&G39FSJ4I(M8XI5+_01G39,GN'?[KX,UJ
M=X<$72M?!Y?R]3S!9[UC?L)/I]T)!PM*@*-B,FP+:Y<OEJ@T>;ZMR;4&_8J]
MO2HV+1-<C@A$\[XB35K%"ZHL."F&GI[@\H*)OF#C4/Z-[@HIV0WH(:$SIRCA
MC[HT23!7^;%;NOCQ(?9V"Q21EQ9Q[F+0NZ;,( <]!7@X**))$K=TN-"]+-I"
MRNXL./]#?B6V>D,$<$:?&QHLJ0^H/D+6[NP$AE82E+'^;D,5"F@Z/.?%OOVX
MJ9'E>#TQ^)(M3T&Y@3<"&;R4.VC?C8XI^VH#C^-D;!C?5,YHA;R7'>YP*O4Q
M-,6(9D;Q5/>JG:DX<# X!?*$LA:#*D*WV[4*#!H7T;Y5"KFDUO6F(EL,Q9TJ
M%/28B_B)CS33*W#9V-$J)91#H/4@5@>)>_6[VTGA4KC=J/J4\4FF&8**<*H,
M1Z6- "%?/P_C3,M-_Q!Q;EKNG:FRTLU%*7%&@A2&<4P9(=PC:?*G+A\UKV3X
M7CP5_&([Y$**ZD.2*7[SKDIS22N\45B@$BK,%LPH5/[9OJQ^91&E]^&LMHC*
MHIN4Q3XU/!L!@781Z)YM8M4Q92:BQ3]ACS$YJ%E$SZ=YH4#30]DHQ\[!OG'A
MAS2@D<60#*@&BQQLTI"=(<$B7$(OR8P3GA'"'(^Y]J&7J"56XB;'T!J;D 1D
M9."\6O&U)$.Q +IB*VS-&GYE#5Z&&OO'DDA7Z56<DJ]N1ATKY$XHM=OZ_G5.
MO9>)I'.'$NX=-@V'V!41=3&._*@"L^UJS@*2,B'1U%$6N_87812RHLJMO.LT
M*E)!)<JIXJ[.N/,YM44FSRM%,R2;Q#V%;K\762D(3<84C4R=G(?VLU"B:(Z>
M9-I%8WM*]*M@DNB$B:$-99WB$\RP;2M9.*/,@; 46%RI&D@%!BSOS#E<';]-
MD]S?%K0U<$!;4>'!'*E(?.>1/EI4BT@0#:!%41>EB%@*G>B4<T;=6MD48.7-
M#7OAP#4=J:D>D.)"]"]G=LX52*C ?%6;28Q42N9/[5A@NA$%5E' K89SH'@=
MC$\_KS,SE91.26H-S5S:C*N8(H?L@:7:$LK&^"CS@^6<H#1!]3,\1"-9:1$H
MD&G\0RKSR33$,X(,C\\8N+ GF0% X0^<= >: FU]#DN?-D ?T!\<D\JI.:2?
M1LFXI&0- BMCM2^6<S_#,3J[&D\G"'70%JSBB.VX. )A0ITXQEF"6N+ E&FA
M<T#'&GO3%F2N2XC3T4+/PV24I1 XR=BF&>6Z@WH_*44[TS\%T4)RC#+W^.V!
MO'V@8O+>P*J*2OC6/*67[*77>),';B:W(D&[33 +N4_YF0),JK,+\,%+N#HP
MJZ):(9'(,IP.&9N$G-GL'DJ!!2V95&0"Q!Z84T&G'G1X]!Q0T,HY_[GUS_;1
MR$(^( S:9M:_4QME&Y(9(X%L$-YN_4[G8K%Y"-B@":'I6<]"NE7"S:S)$ICM
MGV+J!<V9TD^<;IARX;C0L!@I=YZZ3J2IN_Z(0TW/EZ&F&ZN_(AQLXT1.Q"U-
M3W+.X, XTT!2,H"LI?@!&@JTI^@1&^G"5U?K<7 =.>\&-6R#BDL*=NX&NS,!
M/J"S0=,-M.)D1 ]?$:B+R5=8DP16>)3)G0?7":(DQSQGND1C<[SY5L"G&323
M?5;R(Q^Y0+YS;M? N5W1'XB@**IYOS8N/C_<8@L_/,N-)8I61',M5MC90RE1
M\!QHHD;=@6O 9G%I_ZK2*,/%N-4BL T^(BEXG"V+-(J04!P5^P;"JB_% TX>
MHIW0FT!H,2%71WG4U\)5XWOH]JVM*GAI,%]=PM#O-3D<P/# JVYS(55S26W#
M(R%9$Q8+>'8H<EC$-2MD'F:SA0]F!<R+'$RH9 ?OH$L,'<'XFLL)7O>+1OI8
M>SSB =@+#;!KSVIUF%=X-7!-6&UF&H'CP*&ML5(F(SFVHR[9PFX9:.!5CO=D
M7G#6P^JU+(&.1-OZM/3F;L)7/A>:LJ>"75\%U>*068_ ^UJ$D'IJ/G"8T'VC
M%@42VVKT3G' <V8M(@LRKBLM7,OUNC3N:%G>00V9_;&D5V&]FPWC48E-6D5:
M -O*&'@TD[Q)C?S=XJ) ,R/##+PV$'#3&X%Z(<!=H 'X4?[P),CYK&=!\RNH
M@<E8K#"0[CHUBL1+;3P/SGLL1H_XG:6ZB7$$YI(K</$$/0E"WDDADDLC$NA-
M$DGN*G 7[GZFPYEMS[<]'I#$ZNBR4B97790F.\QUZF@B=/ $G&(WFYD%DFN8
MMX,-,0HKLL]$M5&/+].@1TU.56P@IMS;P#AR,'\T3I1QD8C"/0CY\4;-DP4%
M:F>Y5GJ605W.\TH!?5V#56:1%*:#L>9)0R<@Q:2NE,F\+9)2>P><ZS')3&.)
M7!<8H_/!OWK,Z<YUNQE6P-Z#1,A)?G%/C7,C-YD;?: />"[._8/E[(; 3+(Q
MXAVWH/6XT0Z5,\$!27<0V$5VY]N7<+\@VP^@=8(-DY#$*PK10(0HO<O>LF*\
M\QG ;57-:QTF[18W&^';<2O3X4GS_F._IMQ^127%.HG:02PUR<M2&F0AV*U@
M4&-&A.$3XF&*:B6,@5#LTK0</E5JXNW* [CC+>_*D9JOCU&:&Z.?&<<"/CK;
MQ4;7ECJZL6Z/K@^>@>E'%$S?"2@"M;5S$XT=&-QA2OJ@UXU@!.4> DG[D@F+
MY6%@8<I&6UE7Z#G*1?-I@D 5\$W%M8*>&^-*@Z*I1FH7QY7:I'\8/9D>\/O8
MTZ&NCC(E5 -<X-DSWO)FU67[ %;GD\/ISX/28;#D&%M%<.07D4N=.@HR+-RX
M^R63%$9I>)L-.(_V]L\FS04/,VG.R53UW*6._&NGJ/4I!XZ5@_9S7E98 R2<
M:FJ3KMJ<#@-J<:DM6Z.# >$21^>15(LY-=%NG@Y)X: V "%Q-&9[TO%8D\QM
M0H"8'?6S@!8\S14]P]K%TLSA0-01;BSBH8\Y<<VK]FD-#D]45R,XYW\J<TRY
MG*FJ0()*>>ADZAO,(O6HXJB]6BJ8XW[XB!$#TT?,?7E=FJZ1EY_[TK'^=+E$
M5E+!;\2^<<?7A'D:V@TE'HF9MSKAC0-)T<6'OWQV/8L2*A G3FJ6X)?(56<=
M-T_H;M.]#7O*R4^QBJVGK0/GJ4EI<E@QWS!S%'36P-W5!-=<S6P@%1VOV+.J
M$4K5D06=Y'$IB72N&0P5.';\*&J/'U[+G]Y]Q/[TG:4__<;^=)UPYW9A],OD
MR'A@N1IX3F\\5& 3H-:IY9B)>8']D>0ZHGU5Y@19[Y[E+1T6X(YD+Y#K^!:7
MNA<+=]T:)HX.0G!"^=-RP#TM%CL*H!01:";V\&+LO3&3#^AM@Q6D5*Q"'54S
M3BE#E1:NG\"/#J(8(+G$!1"6'K-!<IZ8*\2X#-I)H&LM<,$RSKJ928?U:M;=
M;]LVZ@D,1/>SF;%$6]>9GF2D051LRLC.JHZU\0GGBB/8Y@HQ0)"VMW5PX#H\
M##*GH\]WZ!81$8^5P3/]8W5$G^X"Q&QSL@,XS]RM;B'+R']&E]\'IMY7QZT-
MS_%5U]AQK?*1+26QI+XD7,Q?\YSH_6X)!S3<KY'?@S9]G*B);W*4.[*AA8-5
MAEW_&N1S,K=L;*799KI9NZXS/P*3I\LQ&PQQAS,L#%OF9RS83 YVB!!TJLYW
M<I+Q44I8OO/;G\$-W32!9NU'S; \)7ZY>Z9GMGTV*^;))38Q'P(JK^<,0D>[
MPP;2V#WB$M9>)".H_1UP-E7";$BU7TX6C6Q(II!6%/C, U%G.M:QC@A; Y5=
MT@+3'+&"851$4,YF86B,JRMOB,"<5@8T<"9M++0ZL\G#4F(AV7))UJ?PK$5Q
MD>(?,<UL\JW.MM$VFCY4NNHML$9;'"46R84LME%4C 6::U)7)B/FB?&2FC1@
M,,N2PDT#OMPRP0Z':+U2"HV[8_H(52/07AAQ$;V)A)96,8RQ3KC*TU@G;5#F
MMI9%VF;4R5SG<(]2:32F*&6Y/>3ZS'D=#.2H2+977MND%YR9]HC#A"N.!V7"
M#M3VQJU"&C R3VYN'2?#K)R?+_]#]T<RC9V]#<"<X B/B%2W8"#%3@+<=H%,
M;.V>"HM\&J6Z,1)!7!0*/]=BF5#1S>3&DDAG9MWC DI,6Q>C[X>-'[GSGO;F
M2EE#[C%BJD%/>+FMEY_Q$+IOHT2O/#5YLU%F]8BI:33DLE4PRU:Z9[4-[9'.
M9>#M5"-.:'+3->:(!L&[.BM9[UZ AT3=76.R;^E,.AG9IJ]2G&A4*M/?M5#:
M$^%D ZP%[YT.L2[!R4P=TNEUBSDBTQG+RB8R"]GU2%_[$ 2"'NT,+9[.4F/:
MR%N"*]XBR<6\T+ <$4M4IG J*]6"^H\.9NI^^$AZ,)Y1:4HM.N@ZM_B5LTT[
M9M'7L8@&SU5'5]GJ\@Z,XU'13>7G6W1F"]5 A@P202XS92V(Q@@GT ,$!@TG
M4R:(A_)"=[;6N8/.2 X.I_:CRYB=EJB6P01R/D>W#>9VQD8XV 1 W8X[=_7/
MMBH\/:6*>GX;3'._M[P,-KO6QE2#2Z8*]D*>2^*\1C(R;[$]9NQQF0=L.<"R
M,.H(9/L&\P ,9>+!_5*/ 9@#;%I?KMI$2GJ\UL+2(QIGW2LB@@IUNQK@*^ .
MPSBMB']RG#!+9*8S\5KXIAT6/G 1BB_!37+*<!TT(J<7^Z#.^KPRJL3U'XE!
M5SC'WN0:$A*,"<0.UI#0N>GEQFE=A11APXZVX$:1=)O=DQ8>TE.PVEXZE4B9
M(P&I [5,J*2C+)&FO%2><&L#$LCFU-%**1&Y)\0-0'#)UHPFD> 8-?I><"<;
M)+JDD.^2O&B],DW:F,7K\A@Q9[PF5A^EY[@GTQ0E1B[D57M$!9_67X- 6)I%
M6;,45ZX<9N[OQ)VYB%J!Z8_J#^*K^FXIE,\XK.NR,4ZP/Q9 8T&O/U=[<347
MG4WNY YP3#4@S$HX(H@?R:Y_$"'%W)U9\YIZM^\='S)..9W-8;>RG!IRZ6S.
MP)2VDEQQDLAZ98Y@"5*F*AC2;0A?&)<F<<U97B9EUPK#%]_PF-R+=HI/_W)Y
M,T6G4^&<$3:N&,'KQ>C]\'@Z[N4IO>/YYDO3@G'^JW8N?]><8^5*4X-+PS4J
MK.WAA=0,S#6:,]Z0N+>DZ-<FXXU)Y^/@6HA[ Y9F@=J6!"->RT9<:D>BE&_L
M5K56=P'JZ&)_W9787C]6Q+W$[[X'?9M1O><8_OK:1+_A2^?LA*.BME]""=<=
ME]6J$1"NV<2VQMH=]&C]&IV2NAN/.+[;75\&>&_J\YBQGSR[:=YA":0[/8?:
M;,*;\WMJL'.-D]3A/#?/]Z+-I*M1=H(94VN:US/FE@\;(I.4@!&MQ+OEFQ6<
M7ES82VZW>9Z!H[3:.J-YFBG8S8X\1UO7J*K[7NN&:VT&%Q,AUDZ@ R7#PKA^
M45=N5*CI#%XWY&'SS]B+9[!WKJ NS9"KRJ(XFC#*2AL1FC1P_3=\PWE\8L3L
MXEFG;:>J36'"G>'Z,](-8NN@<14"]N_W1XDZ,YX):32#LFVN&\RU5_/2HNS;
MY@*S+3JU\WT1#=C+;;S0M^B"ZV[)%1 F+F_KJ@?79W7YS@77. #AC0WSL-4P
M'Q1T&U9>N7XI B)H94/7OX'0[.@OXBP/<2=1][6HB+U" >PAXN*C=\(A9K9G
M'!2CSGK)F2:C5;E,'U;,-M?9>E9L.WU(Q#73)&<S0\0Y0QV#>D.8,K9M[&Q#
MF1>/T1*_>H3;&=C.N(_=_J-:-*UIN,=#*NG40%'0V\")MP4N?,?PDK":L" %
M:I)\DJ\DFH_("%\8V6 _YR@9F4792TNB&J+*S22(LUI[:(*]N)Y8SX^!^5+4
MY9%5V[)/!MR2ND)=@LS&H!EUF&$AP-"Y^C*;1]DE#<VQ]W" KZ9H"R+-DJX-
MNKH:I8EM$95J:LC(6,](<EWJQU8I5I6@Z;ZDHN;..<JKJ*D^O"!G +3'NLSU
MOW3VWEP#=0R,6:OE&_MP!7/#Z5GC- 9W0R>FU >SH GJ9YQ4;@6V0!(W@MSZ
M:D86(BC@HL6DP_Q"EG=KH=\IW<'KG?NXYYC@64B1?6A:MYE\1*=(/1I@?@=E
M5>,W>J;4P=JO,?8[LTGR(Z<#4=J)@12>IW3T\Z+ /&0]G[60D@50D]'J]QS[
MU8@]5QMG">>HZY3H#O=(K*WRX'HVZ$)YLMK?\:9A@PM[N&+-77E@0UII:GV.
M3A* TT+$@3Z.3#L$#;'MXVLW\R =>&877YM $?NG@34$+MDH>RQT3K^'.BQM
M^URP/)OF)QT=D]*7\X5+'_0WY8-!J2K)MG1_2MGFM^P*U08UZ$@8Z@%H<PIM
M@T5&Z>#N'/.5^,8NBR,;1055+]G1S;B46T>Y]5Z[0&GTK'/M.&%_SDF1]#";
MF,=(9K/9L0_@2-GHA8&'03\[\2@)TM8#I1WPQ"S87-G%EN D?_T3[=CT0=^X
M;F^>9]*D?L_CB\" 6<X;HF,C0_JWKHNU]6JZOM.;/=P,EH\LS65\G1;7=C-T
M;CSAES7V^'9L=7DH=_,QAW*[#RB4RV$A/?A=!U><)N$6$(7D=%FJ,77<F.ET
M75%] /R849N#72XOD;Z@MA^4EAM./V8NQBW-PP+Q8TN8J&5/B@5=<G>7NG>K
ME-9HK.C%C#-=1NAY5UH05>YWE".NR8=]92L.H+Y/T@KO\0\@(G_+BU,N9KO^
MOHBBY)>!ZME-S2NQ 077(*-.9M05#[[)C=,.B@@TL9K7*]T^.M*UR+55.LY4
M=7M8 K$&98W@)A4/(Z[#O BX?$J0U1R6:K0ZBL)1712H,RKJ$%R-_JBC4X6:
M(,YDD.9YW-'%LU&%L\TG(PV/S9^[:J+15HAU@UNP;GC0P&R+'+ 1%(UZGV3C
M#>FUCN8A7)2C9% %E^R<YW3!>S?EJ@+%W,/UA7P_.H@8TGY$-[[&:B#L5V;=
M.R/9? JY47MH#-YS=3JW"\;"%!&]&D0LRD(-Y-JJL-H\C49V_'7:OGN=AA9*
MO]-R^*WMAJ.Q7S3@GVQ%J7V1(()U *B(SNW&4>.>F6&<)[!BU'V ,+.P)#4F
MCI*FY7-:RC6K/&A63G&AU%#[933MH_"9$,(L:N+[KXK!!L*S",$LIU?NSDR]
M_8PY2>CR?(YT*8_-'+*4MGCJ&MSMLO<:E;[FNK!@/L;:C3G.%LT*IEO;ZEKQ
MY+5CB"?7ZI=B!O/<[DT>DY!^&ZZ%-75GW%6VFYZM%1.DYB@I!?2@@ET=#*05
M8\Z]-*A45[H*8J0E!\60?\;0MKT(;ANR7,D,H?,A$&K7W2$!DC.O8? B=*;C
M!5"75"3K;!F!*5K/1VM7+.\*TG5)YZUU2<9=$/B25U<H+9)D;7_'D9B]MB,I
M7%((G$$.1P,'HH/F@8@YV&X\YWE=NN)3K$3>6.E&BW71!27^.'LN^#8,]&3*
M.,]5FJ[&>;\>$QBZTS:51S;%G5IV#-.\1S Z-">8;)*MA>\:Y6\%XZX[;\<3
M?X:EZYZ7E.?+" #VM[5 ULX#VZ;R'7$ZQ(P%0'YF[(EI\F.T-VV1V,4SB*8&
M<+NL>ZO4ZXY3?DSW5IV,'WNUD@[NO*1!M@!A.NY+7W=#=:V/UVOB-%TVHF#B
M!= ]R>IURLCE3Z7S*2<$0^S5/K%31W0%@^%S$U?BPO<\<Z#,:<6.B]9TH_3;
M()GMT3Q @KV5#\)+^4!XBU<)#-;@+\4*?ETZ+R(O,;YA+3C&9#@]I&93;A3A
MC410S+[??(R"KJ%UD%=+5L9\D>:E22?2:7SZ(?\=P?FMG,^8<CE)H\Q P<[K
MH4FKHZHZVQ-:;*O&$6B/ZSA%65H!L<A&[H'PD.UY.;9O6ALS:,M,#"L/>R.X
MY,CZ*+.FG<=U1,+J*.?R>':;S*9B:U0 RL2&\;!$F1+=9YJ@S[:'M-*)RH8S
MMKB)1OY*I;?KG%G25\BQSGXQWP:S)^.+A$ZXEV>BZ[!6YS*ZT_MYGH#684A"
MKPB3&.V?%)_UUD(:GX=!<D: &A<JUF _[BJL^J5-6%O=[3>*).NHQ;*]-T[D
MK<?L1-Y8.I%OJC.A6@BR07<\*!+LW*M3V\5N\T M6(YW HV-Y7@NI'LPYQ3P
M2%I*"!36@F,..]%739L,@2/H9D,Q8PQ<!@3B]GK8<A"IM0?DB2/')4@8U%;B
MNG#%(6-^M WM=;_SQT9'*HP^J0M$YC.MNH-&L57EM@8XSXLT/H<!C9-SD)28
MEC)548&0P6@OO%6]HD9+9&.G$VZL;VS12^VGS^G3S4Z#)'JJK)0$,[/MLP7'
M4IZZ:5XD>)4 );:V_T(_W=[^"R%.3G3I=L? =R*<EGT9HW X-1ZZKSG9].XU
M$V!BFW.WZ]:('HY/3YDLFR;OMS03S/NL3TIS37)6.,]UJ!\D)6QU0MCV+!\G
M_0[Z_88J'Q;1!.XBS\OJNJ@;%Z1V5\MT*?.AD&[9SB_Y^$5EF?>3R#8M9*A0
M\I78.\V;*U+8]KQQAW2OO3&8CIP@(RY%S!6D) 'WKN>&*6!?J@(M<&VWLM&K
M$3D)B"TZYZO5[3[!J=N.)B>]RS4ZCN[C@3TM,=P051'Z7,ZB/BL!@R251O-^
M2CBJ7:N8-R0^>VXB+.V_Z<B^%3#G/?Y1^!'U9E*G=_N5&V5 =WS*O3. >4=)
M+ZD8/(2?$V TAM$R53&8_T4V2Y2:# N:D444<L@ DA;]]!KO<)%,\_9W_$L#
MU6ECI53MW4?ZC6C- .67)/IFD82@^@4"IM+1S&9P65D>$;%UAY3<[ZAC=BWG
M)NKL\Q,\7=^J(?Z< 0IA()B62* VP% U=[#9'+!7Q_V'X$QS_*$("-69O88#
MDN[8O4:C4\X [T45V7M"5S(2G)6[2[--1&=2*D#8I8CR-QP9QUN"%0+L^@JH
MSVUB8V9]%:/Y(NE[K$*HC(XI518DE.JB,7CG[#S)U$+IEF99WLR2:6RB8]F2
M4 4EA"%C08ZC_<30B.(/DPD_@(-TC.J#[G3%XC[S7*$4!= "/_ #EE;<:SG[
MXCX5P3W[XA*VK2\>X?G.L@CNNN-[.;.YGU,[<&'PO!3,/*WEP+O6>*'0"SK/
M,_?(2#N'R^I,XU*Z1;5S2G*7)!,@&+AX^]Y5+VV6<@(SI7\-4*,@HKBX.X^+
M@"NO;/HUZ?IU)GCJNB;0 $Z8U!K;%(#,)DP1J@O)#W&,'.PI"*H8//KH:(K\
MUJN+6&4Z/,]1<E*&O'2$5FT8(9XEDFETR$=&PSD'V\U)0S+9+D=:,5P2RI2I
MU9GMZX"-5/Q6Q%<UOY.H\Y+]'*HZ[29L[P)R[5711?M9QAH5Y%>PHV <T-VE
MBMVK5^>20<K!2O/S58;ZT+@C_#E"B_,7C5'$.6G3&=E= 8<A*Z.^IW/I,(<?
MX.8R\ L=3W&XYI%M.IP:2A62,A4O7ZBCM09W;RVU'6U,\D)(&.'1<DO\9ET*
M)9S!I;[K'3(GRL W)U^;/:"T=8+K'FSLT+,G279)>]JJ O.QFOZ&RYU^IA"*
M.<#=<')O<&@YD3Z_L'GR['+W</=&"F\0:DB"C@J4?W5&Y**H-=/;-K,VA,<T
M6)8[5H?4 FW @)D318,,BJB.ZQ055A%ZMAFZ).I))2=ZQ&82Y)S$9$&,PXY-
M8LT.N+JIX$TO$M$SW,)$^_-'MN$KKTSE.OHM)?J/%Y^;2NX>1G/Q<=D[-9\"
M500>3.$F)6 ^>-H4(#P^@DKO.A,GTB:4"2'9K ./L.=1P5)*6MQA54(.QVW\
MZ"B(=<!:%7-!0_ S@@T9).B9=MJ4R4G.AM\-=.%[TDMBEUA)+#B?$FDKU]J\
MF=\2_/:K91&.DE1G*@@J7*@S&OB2<*)3\H. 40Y,7U;3+T_0%&8Z\(POR^ZV
ML9?K%,K8NB_)*N"@];U).]I^S&E'F\NTHQNE'7'+/BV4=4^UA@?1XJ,,(CX&
MIDIJ%D[ E'>[>94VONJ&5B\[B_./W8(F+!UZ8>E"<9E ;]HHQ=$>784=?=UD
M(VD=!^_NCTSTW4<YQD@M<B]E@::Z15 H"<+80U82<BVB2\O66=U;O@@L@W#7
M3]WI47]*4:6;L\YM6"6X&:OX(!T1EXM,ZAX&GA&=57P .362[*ODC%$1T(\^
M[\*H#"BL;N87T+.3MAQEOU3(69"3W#KOSIF-_R]2G-P@,F<#MLXQ.>VC;OM$
M"SSB2K&/7#.)3/1SG@LBT+'D;'R%P_XUQ>J\7$6A05@@G HVMT*W24_!2)DT
M;Z:LB(WUC6Z@'53<^KM@(E4C:AV*O]CHA"DFY'.5'?:QIX0_K$3E4CO,LRB5
M8C<R95MOK7,*H9-!0FX6%9-Y<Z0P14918U&OOBFP=7Z4J:!*_0Z#Y<Z=W&26
MB5YHQ_X3]WUB][TP]1[IU#3TXXJ.,:7%8%-3^HA7G-=5@%F.:^'Q&,$4J)XC
M3NHQ93?$1@A(^ZF>UAGA*U+_8FDS#+N'O 7G$SVU=GJ8IVG0L1AMW=1T(ID+
MO+VU_4>W'69D<HXM=WM5E,;NK)':RTD;5.IM5#BS1)&D7SWB=SN(<Y@JU'8K
MILD?-37G[5AE-;B9LMHS59O$.#6S1I1RRUUKY7><,CL45"V(ZAH=AMK2H\L-
M>U)I5C$-MZ46^IP1L8>Z 8ONUTPP451[HG,U[9[("$SV*=&)%T6,V)$J%-M4
M39K/P0\"_!IW6!5-EJ5S9;H^4N$!EN%/.#K%?W-5H"DB[#B%K@P512%!T* Q
M=3@Z51G[-,54,^_1E?Q26\P5&'ZRJK=@IY+2 $C%K:NTWW=XWPS9_>PP?*Z"
M"09C^)*XTF58:UH93!'WZ&ICRSRKSX:%2+_2;.JTLR%)-\/-5@.X1"U$J#K=
MFH$R0[UIF2F93#4#+T0&(F>^P-_5.8I$@=>E3&RLV>./2OQ!IC@1U#25OZH
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
MVKG$F"H9V24V$R,_*JV\>HS&/!?'DYOC2',<"UU(0%*F,3@3VX\8N'8("M%
MH;EA984%F*\PD>S4"+POTZ;GZ-"_FN L:!":P(U\M-"1;:KV120N-=6.TL/L
M*NY'11D6U"MIVW&B8;81IHAVBM'G$-S20-<5;#FGD$OE*A!N-A (6]3UAUAQ
M8#"8#*]]I-*+QYBR;=G$OCD5^U9 LS+;1Z8/IQL*8$!\K="0VAF!!6KKJD!W
M:*EU,%*:,Y)V8'V4!5+"D(B@V8 !$(MI53@-J\1Y@K ]F%5*&<)7@1I!J@<G
MYK[0^3^VZS(OVN#'YI?F>>.SBZB#[H?&T<79>>L1 0Q^%Z0HN^R*6CT5O!+<
M+LPO-OS200N'_J"]]I:B4P+ K.CZT@U 8RCVS%0.1*M?2Q@#35/NFX@.5%B&
MW%/ ^#Z<&[LP+=1D[I$RK4;585RIE-E2B9TS>=:$F^MAT;RJ'S-%.:KLH"*)
M<+([@8<$@SU*\;^,$(#';!H7*:32 *%>^"/-(X^9K0('J(000#1+>X%A4 CA
M\[-4LJ(P 33^*@%Y!['*,S3(]D;!<2: W1DWWUH-I@APO$X9@ J[)I"N/33
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
M15T!>>FGHJ6]XZ1);F&@5%/?H-^3HD1)F:_VMSG%)_"Q55W"59(J0<>JX\Y
MRIDQTV HA2$PNE+<17.,M/Y);E9*@8&G/OP)EV/W=N3X1,GJ8YJPEMM#7#%B
M]1/,!(2B,!/8R]VMUPQ=EZJ?-P]>X^::-[8WW6/]2O'35R6X096=-0Q_\M&Y
M?]_A8]IAI;D?*UHDNS+M^[$HTEATE )%7"7I#VE/"58YPNY)BT++.LG(K(DL
MN\$]_V]_.'IW#*9%-\"*:UUH#<32HQZ/^"7.H2=VJ5Z@9C]<A-1/DFY&'13=
M-T=G'UMO7TC+#I=IJQ+X$&[F="&UORU":K.N991-9*_V#CBIJTAGGF)?5.Z@
M^LA1XK=N)J%Y(+S:MXD] 6,>>":6L,2%IXPUK$'E7@38W<GA.,A&81ZH4"+I
M+1X!8;"X41EWFI/G[H>@G8[1+U0_Y+ D\@1D[, G+-A:H0A$Y<3K[*(I3B+O
MT.@W!7*BWJ95PQS0,-OT\L'FKA&7)6&Z_WK3+L/EA%9%09FB2LO7P1J5N$>4
MM*0FLIZD&+)W;)R"S!3W0,:.'G-?N$D[DCK)?G&*9%0C<C<2O24UKIKP;J40
M"[-!20/\9&<*/]G>^V'UK36,"8EHQMG&;FR&,,R(2(]Y6@E.=QIKD4_8V"\*
M696BR>H!RO*APK %^)57?D0^ANC3\HS.$:96#2(F00NL;1_\P/D'Z66@KR32
ML@"ZL;EA?>B.S/&I4!ZG4$PP+*KMPZ[4Z"D;YU2QR/ ^[7P3/CP5$(B5:+*F
M#7"R)3%?[6RQTDQBL[9Y8-I:5_'- O'7[&N!#1[*_.])'FGEL9VHN\<WQ)NX
M?W@6F V._EO8/D1-PBV[Z7APFW?WZG1" N>J2MA).ND[3]D;07P9@H @,=CE
MF@2+[V_>9Q'1"C,(Q4C%'?T88-79"/1M]YB;@>77R\PL7&;&#X<&@P)D?+$I
M9! /.)(R5L:O:G&67V\Z[Z]55$5%QSH8:;"B$A/AGFMA&Y>!E&$$'-G40&.6
MZ231'E79$5"]!K%O4]-'19WX-T3B9"N''@([V0[&K7'ZU472]7E76#+UPDM[
MS;\!.RM&_WZU_NVIN)+G6$&E7VTMRK-+8R3,Y D4AM1#HE#T4PRJHY@N!?\H
M"KO&^_>=^S3X;E_?/%(JF$X#U:9/E8AS25-'(\]Q]7!T[9 G)DW&?<Q[P^UJ
MCS4"!N5 8O8 UT-):V%1LK[%!"1 F1;\^)$?^UW?<YNGS8;[ICE&)!+//0V[
M76"J35_TH48/=?RWGMOXVCARWS2RT'>_^AV\AV\IY? SWAVW :<$S[EO3,WN
M:? S["1OJ=3>XJ9>*4EQ9_>UB:J!00';2#H/2FN0!"K2/&W^ZWWF#*@1&V %
MJF3K >/)TS%YUZ3>+E*8% HMPR)P)_+;R,\3XBZJ($ZPEBTJ0.A]/O"_^2,$
MPC\:P%YZP.PQ)P6NV(4?7N'O_P#^9](U!NRQH7(^>+=0)@B4:0]._6;)8API
M.(-6$B<;%\&/0K,X8J1D&AKH>[;'R-FD78C=8)C$69Y:R1D5ZR>_!0;RA4\[
MUGX)" @#^ M6O]LF"8[14&E2',1P4$' ",/(P%3IHFC3 8&/E#J&8V2< 8]%
M"'#&3K>+*1%4LB9\BMF4)8.44PW%KO0>QY@/Q^A3#G1GR0@MZ) /4T+:G(&A
MMY(VV.@TF&B@^N9LSA.!W7G.$=CZ$XK KH SJ>Y!='V0P18R9:ZT[I73KX*N
MIQ\2JG?4,PJ7!I\Q;9M%:TJ#/MU26^^)X5Y-Z#Z>R$?QU/00FX,YHDI9DB2[
M0MH*)G[(S5.>;DF[N;M<8!)=3,4^-R"09SH%ZZZ*]5WC[PKOO^6KU!L..GRE
M_?JM!(UO(LAVQ+@<42YRD$X21?XH@\NB_H71)QU<OBF6S'>HVI"M6EL1UJ'\
M?!O# 8>3^U'F3C7[PMKV*JP!#^Q_?]DKKU.]^A[A9_$#BC_.'KF*JCZP1O0G
M.JZ:>%66NY@Y=O$V.U+_Y6YG<YM9/*6EW.S16=>[4%_E71#_%T^@?NBM^"X\
MRETY>#R[LDJ^R9VVE[P5+]>R:JO16G\T-+?BC=A^V0C8B%<ONP"[\/J!N$\5
M;"':[/7M+:^^?>C5=W??SL^AM(:^L_.ZN,XHZ.4<RB6+87[U1Z5UOKXQSC3S
M_5KE?*;0WJSO;)4^1.ATO_Q>._3V.7BW^"<KI[:HFOA8]FG7V]H]>-FGF_9I
MQ]O;J3_5;;KE9*;MU79M"O>\T\3NPD&_,_#K_-M5GLH4#G\D.8H?*4>Q!<)A
M!=;L0C)NGL5,._#EC"!$<.@=[.XN=F$J=F09U/K$-WK?V]G:>]GHU6]TW=O9
M.7R4&[T.$ZR6%-L+2(I;S/6AM.Z;Q4=]<Q</S7;2WWXGY&.+7C5ZS>TFXW84
M+';;)O2JI7W?2(^=.TH/&GT5Q/ST=GO?V]M=4+E]V>U;[W;=JQUN/]K=7I=)
M5F_MX1WDR5SSO4<K9-&-NN6QW?U\*@[B+I^XS21>UOZR]J>U]D>ENKIW9;OW
M*> 7,!7O(.5WMS:W5BV,7K;;WNZ#Q[G=ZS+)I?"TEWU=HWTMES&M90)] 1O!
M*KW35I*'Z':@V%.YE_8+6'7N3K'XCA*J7VF3=@(UH0J,H02^ )R[7$?O5> Q
M%!_9WG3."  AXC3:?L4X EZL4W 97B.0KF[4>DXUZ<&<^"ML/F:/:X^VOC41
MQ5H002:< A @&V/JN34).&',%3&8#>RG847%+<'24?-92B(VE;F&CL(XR^%(
M^ %IULB%A_+ E9_"5_)K_F.ID&7;(VC/XC.,UQTE\!_,K(X%?#+H;KK?BP_V
M(JS_P.)#JEV&U=%_"8.#$J%UV]LB2D>I<R6VGZO:-$.U%D(#5E%2^8CI6=\9
M^*G?0:A+@XZ'7?:POH=+/_36F?)WJYP"!L(*:2I3J03F6 =:)+*+5.]#*OTW
M."2=<33$DJ,24DD8Q\DE@Q]6(95P[KNC^SM2,9< I@3=(@8GX;-*N<^F^TGC
M)F #1*NL&PN ::_A;!%Q<Z)S:$[U.&$,1R^U741MG0@>Q([(78<RT6F!:LY8
M7M)/X,M2ULH73I?68(4.-CN%:0'-PLH1^1QHY$H]"Q2"W,;>KTI@%][7K/!Q
M1[5,--64!BQ2 ;SH%S69";$66X0Q*:K58&T2L 4+>C(.<'YASJ51"%Z*:(V,
MLNM,0ZU!Q)F JPZH6A'9SWC$L*14ASSVHXS*%7I8'&1V=S1.L<NGHJ;B5.W1
ML+QX(+S *5\=+#O:=)L,W J;<PQK&+;AZ9HGZ"J=A)I6Z@Z87$LZ'&(EBX+E
M89A*&[>B!%O!59L"J@-/.W1);4XPA<[,%L"13(:SI2R:CZ*$%<3'98W1 >Z'
MU6MQ0GC*01J'6$%E-9C&&X.TE&(E5-\"&K90E=^Y T6F(1H#\,%KK*W!K@!X
MHOD 45B186C<-*[WA;E;5_!+@EK/-0$.152RY>@[KJ@0_P$SIL(2Q";M4K%X
M(%A<GM3>D0P2VB2V3C1R156I<E+8+S@W$!:>@%,(;A:("*L<TJF_1LY-=6-:
M&EJ@4#>>=>%,L$EIEQNQYV$G'&DHB82+W#Q5;9J%PS#R-1HU'XICOU549W:7
MR-3O&SZ52V&^BD"E!+='6 %3G9AX8VKEP3)2*VL[M\FMK!BZ:@D75T$$K/ 4
M7AQD-Q;&W&(]*ZHFV;NQFF3Q(WL\%29+H:M;I>S.258V(,N*Z0D[#H'N_'#[
M<L,$*C.:08RL9#6/GEQF5MV\D,OC(9=;U23-N1\WUB3=9BM>&/DM:I*>ZXV\
M (LF>FQ7<L5T,JMDZ[G22?Y")_-7M#V?79A5T;9*V76G!(6MR8F)Q;U=7='V
M(1K_1+=+B^%UIAA=TS];FZO 9M;[B]0AS?C.E-J:_?K.C-3!1><U!^N[ZU[-
M\YGE3VUO2A77E$NPBDD^8B*K>;7]694.+V0VF\RF9:*\D%EAF][LS*P06W1B
M;]=D@VYY6E-HZ<WVU)SF6V[0ZE*8*R8T.0M$ ^X3E)A[))BL"PKK6Q[:W4^J
M,IG_X&!!5KDD)G0WIK@T3E@E/FXA9N]Z..M$$R ^:PMJ:4^>)O:?.TGL[R\H
MZY[4\G<7$6)KD!@_UZQ.,<2_T?@99D]!DM6VO*W5TN@C9%N[TZ LG@G?VO/V
M#UYHHN1$V'W>-+'MU0]G(2L]\>7O3*TSN5=1M@1+[*QY^J@%EK>[/:N.^CGR
MIEMXGI[2W:Q[M9T7R^O%&B\XT/9JM;N2Q-RNQ;5:>/UNDFH)[L*[V%N5 <@S
MS+2??U$K0J2ZPPDN9P0-2KBS:)QF"8!/,_C&[8"I%OO@:J=;+5:FP52M=N;/
MD**WO8/M66!VZT B3X*B]UXH^GXH>F]G01ME3;9Y'298K<]."R4L::[W:I1/
M@36X.+MH?+[]*I>)\3'7/;H#9MJ<1LQ-<-[S[LH+%L6:8'P\3S*^"6W]A8Q?
MR'C]R?@F,/R54?%2=GM=)EEM $W%SE_6?.^&"F2^=7-KTMWGW)IT^Z4UZ8Q&
MXPA*PDT^->2!A1C43X,KMWWMPF7P$/-F%$11T,7?# *\)@$BBW2#(<+;J,ZA
M)AG#4<D8NL4N-25%Q!U$:TCBZ-H=,S80@VU8+<K=+.CD28H /%.R%&7:?J<3
M1 $_ //"!!<"JGI5VSPX]=P\<5[5-P]/%3*/@F/H*I05AF7 B<?!%?8(9T@5
MA&&(8#RWCX ONFG]*/)SQ,=@Z"!Y14!:L&DP=47>:(_#*)=5N[D?@DD2=!W<
M(-_]$<#:%)"-BW ^L%Z:A.P"W#0_5;O [5_7 =9GRO<^: ";<6S@C:C5,H+T
M#(!*W!2V%-L\XP9\3<.8SC),.^,P=]\G?MIU__N_#NKUK7=?C][3OVKO'%4^
MHDA']Z5EZB3XIH":WMKEPX+D M]Q]0>(2KK<1!M)^7 "4FS3;419XJG^U QC
M@C%9F:Q3G*QI?4WM?$-%H/0:$'_J9TD,9QLG?_T548MP!MD)8057L9N-4O\:
M$:E^XB<$@*3KN1U_G.&$<6 ]$PW7U;YVZ@>O-]U",V$@%MC\+GZ548T,H ]N
M@3V24)([\!$^)A^G>'/']/@5K0)H/$JR(%7K'VCD)'U^,1!^MNE<(*I1.,(A
MS5ROX+O4<1L.?1CF85]=R!)26(80:D3VC/^5<7_P#<)=(_PU&LL37H%X*M1^
M&'=&S0.N3^ //4< BL*_# L1\J'HA/Q;XWEI/*,UN$T*&N643^5I(:,4&CCC
MJQL9G-%O6-QFMDRZ-%=I6 M5PBTXV#TCK,R<'<.OT(R*$"P/M#>WLM:6<P@W
M([JL[VKF=E0N A[PN.[0*LME9TY."7^:$L'-K,O=N4V%][V?PRV*VF?.\35-
M"?%*'G9G7JX#7H>#E^OP<AW6X#JL$@UHYN045-!#78(7Q>#!."%#%[UPOP?D
M?@*3]*Q9WT/2__8+_3\H_><O]/]P]/]J?8C_F>SXZ_77LU:'@/7+[TW$M$_1
M\9_]>AIVTB0POY@_D/Q( &-VO;VM!?,.7G")[*S?:57X+\!$)3K;W7K!O[H]
MG6W? NWC.=+9S#; CWJ/;CF9:7QK60A8#Y3G_<OOIT$7OSSO,M:IC'#'JQVL
MM-S_$=;4UI\Y+,BVM[^H(O;T:>*9PX+L["^8V/Z4%E^;5B%ZOZ @R\6W:D1@
M?L?<'Z])B8&/\6AVO</#_1=>5>3?TUI3/Q->!7KWWHM.4Y)?SYPFZM[A]DKY
MQ'HO_W!:1?C]2K EP%HUAP&FN_9U?U1,^%T(.&2=SF6[]H*_-Y\WX)GPJ>V=
M%VWFA2"LY;_9OK,I_CCQK>Z&*;R.\%8G<7><Y?#4W)[")X^?LNWM;;T@ BUU
MNM4>C%M 1ZX)5,TCH^BZM[-S1RB3%XJ>AZ)?,*[NB:)K7FWO_GGT\DCY82=8
M[4U?!+OS!>7J:>"JO*!<+662+_! #TS&+RA7+V3\^,GX!>5J&9-\ BA7RX#L
M:-DH*59@_=<C0A]JVK@[;AITD):[!$&",$$]]W#O-8*-6/ Q@E7B7 6(;))D
M(7XNNG;#X0C1<!@%18.8Q.-A.TCQ2XBR8F')I'Z,KR8Q/M5+DR$]H$(G"@<'
M)BYX)O"DBW,(S-\&?NYT_#2%^8\[ P+?@:%\4"@1<"H+HH@PC-*P$V3K@((R
MY7M6*KTY"(9^"7Z.X!L(X(7P2\.D&V2Y.QZ!OOS#.A5"!V)DGXM!F,GI.8A1
MD^&'^W@Z<2\:\X?@?/)!&L .P3S"'NC><>X2#\/]1AL5=NW5#B<O>'PV!+X3
M#,-.$N-A) I@9]/]E%S!9%,/'H&A%3W 7(=!G(^'- O$OPD)( D.#E:DB.25
M-&(UN#\:UT=31!G99YU/4K(M90EIT$;K!;&WS"G(3N(^N@,_ZN'-^&!!D&',
MD(&>"*BKMOU:'6<9Q6E]M\%XD_5.#'U8.I#)M>R%YV8#9A"&U8#I68:J\BRZ
M=8!DLD$X0KK"Q_.KQ(UQ^'X05X*7&1XB-.V/@)?\#(=^COSJE9@\'NTY'@N\
MG=-GAWYG$,8P<1@&KATAO F\&=T3!]B2[WYK@8V:!08ABV;_:H?#(NMP/@IV
MZ6.0]%-_!&S[T4(O+:DN[7!.U\W#@ !4S&[Q,N3;HBRM:&MN92W<%\K2+?;W
M 5<XM_/LZ5ZK6Y5[+N-:*:@9GN1<T$OW=:&>YPG,@_;S-$_@P43+O/@RJ]KV
M%_;W8)=O/GR9IWG?'G+3YP U>=GTI6[Z'$@:+SN^U!V? TGCH27*G9+P*JP!
M,91W=BJKA;]MMC9=<H3">['?]><W,^3#];F*JZ>_OU@!^HSO3"E KVUY!S/+
M]A:=VJ+AJ4>R3WO>P=:LOL(OVR01LZW])[M-MYS,5)*:5FYUIXFM+JWG!I^-
M5(QFH>]^]3L8S7#?-+XVCJ9EEE>8 +<ZLKN?4V7.<7UO0:YXUWFLV_)G92$]
M\>4_XY-?A">M017[7+-JCK&!D.>>AMUN%+A-/\L]EQC5F^9IL_$H&=2.M[T]
M"SOHB9/IMK>S\XQOZ<'!K)+0)[[XJ9VK[Y='W5E9FF(Y?\:8N=L8!M@#Z8YA
MK;L7&-SA4)<S@BXPJ-=KB]'\,O+WG^-&[^[,JN1XV>@E;?2;[?J"3'S.?9Y;
MG[EUL<R#TD#U9D[%8[O[1CZ4(GN+FIGYO[*4+.VYKM(=LK3GY%@WU<S,NRL/
M4VSPZ+;[IMJ.E^U>YG;?5(.PWKN]+I-<L 9A6?-=MQJ$DU+]0#$/=W?WM2H/
MD-ZJ6%B0)YA?BYFY% (+_=C1Q0.2YHX]7),A-ECMXN,[NZ5*A>T5I>#.;CZ^
M]YR;C^^\-!^?2D+? ]V-&\F5:VU<3H>WBQXP$YTBP)KX?4^7T^QM3;9S=@I1
M;U$!_VOK&/]7I1U>L0N![A FN@>7 >74=^ C[<#U\SP-V^.<;]6EGX;)&*;F
M8]5'A@GYG6C<Y<*:!'Z)Q1[]!'33&#_B1TX8AWE(-489-AT?N'Y&:SKZ=/*U
MY3:.+G2^_4G<BWPJ[#D/5(E/HY-ON@T@:?P)2T8\>A3V*,$Q\S2 EY%=Q-D@
M2:EV*$FI]&<C#SJ#&);8OU8U0YF#_9^M,A=@-^TDRG(J03$<9Q2DV.7<1UKE
M$HTL@ /JPQ2PW(02!I9-#LO^'GF6[7(+:NGNYY/=O[\/P@B6E[3AU3+A5?2D
MYT(O+->(^;F3&-BQY[:2<3YP_X#KZM.)MN P_!'\Z+E'@S!6D]$T[[O8N?L*
M6XKGJ?]O^O:UZP_#+E9=P-ACV/XTQT(1+(])AF''C>##,/-1 "<:7/HAEG$X
M4D3#Y[,.91:5WWOG%F]B*3EEZK4$85GPQ7FP_W @'7B4R1;V$4X3[EN(11O2
M4!VO!!BC'NP*[%06Q%0!X\./ZF+! Z_$]A?YJ8NNY.*K?N9%!L!MU\?]?I@-
MG,F+4NRZG@5]Y (>5LUP)9O\!B7U,(GQZUF6=$)J?DX53G99(-73\(?#S!RP
M).P\[+F4LH?FG4SE#$2,D4)(\Y1?H"I'LJ>L,6' 2.Y3L20P3KAV)QO#V7FT
MZ7A%?-!#7IM&]""'PTMX&\X!3O25^/&%#,:C\IW$DKUN"@P\QC*] J. LSG!
MWO5Q%\M D3%<43G;F!@JUQ!2GWLIU,JH; UKJL9Q"-J *:W"]O3$OV%&60!:
M'/QLU8<B;0B%#555'4T/9XWL655W@?H'E(P\'AD>#D9$&0"-1>%?6)W%Y6 .
M7 "90S@<P0IXX[K!)9:'XL7I81TFSHA($N@US(>R96$<)Y<LJI@Z\7RBH?IV
M!N*(:M%<K$4;!'Z4#SH\,?KZIOMAG"(0Z!#9H_,QP"MT[0[\KF:/7=E@4PZ'
MLY"F2M%U!@<U#("R_#@H%[AYA=);(XM=6Q+[X1 )!L5!QAOO "5A#2[SABG,
M?_/.M6>%VT6WH8N:#VWF;R[61Z;(P'[Y_0SHFM?5!!*/,RI3D]MV^VJUBIFZ
M%[ 7L&LMGO%JZMGNF/PI#Q^BTDL_7P7,+# =<CT*"VZ8XHH+URJ=J3=.ZRXY
MN:O*NGW@*3V#%2Y>-_(8;^]B^=O+OKWSUL?=_[U].9"9Y7+/Z$ >5K[-K)Z[
MKU-X886K/^@9M7+/Z+(]^!E,*YU[.8-[.H-IE70O!W!/!S"ML&[=A,WM4EAF
MU]"=!UG@IQA]B+LJ'(#NF"!*R#%5WI/Y2G@6JV>ZH1*G[AT<5.:\W:(<Z$&F
M7]NI;%;\.*:_7]UTZ6$F/_/#TU:PO3.12/"0]5J3 YY2"( "$>@29CP^->59
M>S7O!E6FZ.\=5EZJF[ZYLOG4]BNSQ!YH/KOU==J=VF3#[H<L[YDS5_XCNLC]
MB*C:[P[#.,SRE/SL<[FO[I!,O*R4X4IVOE7=;OE..;:/: -JWM[NL]Z G>V'
M7_ZR!YNWE&<].AG<S']4-C9"6KJ3$;.;EK641-7EI*-6%L#N[54FG=XQ:_-Q
M[<*>=[A7J5<_JUT ;GQ866EZ[[NPB@&KV=*D/O\ Z;]6?LS6_M;1"A(A.2^@
M8*!_%0/]V!CH98S:)0Q\DT\ 5I[EF4Z;Z;JOQ$BDK!EMKI>1F-TN9W2:]S(_
M\M,PX%083)?)*0\%/TXZ8VQ2<\+83>UIV=,94HJ,'TE*S7@TBD),7&#\=<PO
M&>-HDB;32SKTHV20V,D?5\744\Q_H93/M4V>4T12M"!;;$&N@#(J+=5)<A#C
MB<A!&YI6@J4S!SF87X/- &?-V;"IW^4<2\KO0E&^QF=S/.;$VT)/  :K)^3R
M$L[V[M:NWB=>LS-ES2:?GU(#7VT?'I@W!Y@$&IJKAZCW7N$N88IC;6M?Y;8%
M-^VUH\?%NX3)DMDXRE4V5#]*VC!,%/8X*:SG'IW]X^1XHW:(#^9I2'F5\"[N
M#I%+E&2X8)K[* TV1C!<0&FL>*G7^4053+BQ:QL%NW8%5V[Z8.Z;CP1^UG@[
M>0/%1A&&+!;K-(9<XK/J&GK(^WM!EE&&N=L+Y&9VDG244!JBOH.2:ZB^(K4I
MIIU!TNME0<[-#%0Z+>8G9WG2^;$AZ/! T_ USAZ4+S](9<K^<ZY,V7VI3)G>
M@*37"[B0XV]^C#DC;LT3MM[*@76YG_PT&[0Q/3QUVT$']I:R4X\&8= #VS/H
MC.GMLUXO[& '%M+H@BSL8BZX,_ ON5PDN,12D@AS2]-+E!.9?,(8LI6?$+Z/
MB<)83]*%*[KI?@]<^'!@E!G\8!?71'G'*G4=KFG2H;N'"<"ZP$ Q_F)KFXGD
M=,I#-ZUJ-MT6)A9C+0E5IEQA%4('FT[ [P(N:M&?5GH?3.0TW;3W\'\RI\ 4
M8!*@GL4!)^J;@;F9"C&I#B6/;,*>R$Y,G!3J>#!>/TDIZ[DTY'__UT&]MO\N
M8R9XS7FWCLDHIQD+VZ3:NABX\9@K>N"'RR22(B&8:SQ.<]8 B&,'?9!P?H<*
M%(!CGDPN9F+YN,_CX4CJ$AP1[7$G',%H@::G1(@A3:* RX!$ARZ=TD J ?6&
M$F&T@P!U:R$ 4\P@PD7MUK4+K]%R'.RPDU*I22>D B II?!5 07\"'3?L:D*
M-P3O0B^,_;A#+4_@>=JK=1;X)\IFP+QT]S] 2CEW:2HK=23PXB1G J?600%P
M!922J!'!=X$MQJ'/W9C4"RE6'$A=)J93 S5(?GON_\1D>:J]4C4"])3._(<-
M-9_==!L=K).30@'S!YH<GW."ZM;@.J,B 6 <CBX?BH.?XTP7JM"DR?ZZ:8:&
MN^3^CX!?5Y>1%HJ#=Q/<%WY,#T\C>FY[G#OJ.1PM&[>QN$*18&F"/:IK4E-B
MTB']U=K>TBOVLSP%WXV2Y ?Y&K&>+4RZ?"3MH ]Z$%;6P16+F%_4#M>!-*DD
M$G='#@BTL@YH97S1+L/@2M5B9*J'F;4?VB3@I<(JPYBT<%JFHY;I?L#G_)]<
M)(/?\=293(Z:I]="9XHBL$K#T"WR1]V7RJI&;M#;*N'2K1\*3W82'@+TP%!Z
M"0%'B4)0=O$Y'QC[M?REL$R2K6:IYFID(>HLA8,T]T W;X/C!G8,<XEDC8X_
M1.;,]M%VT:0"2X8,M:Y9)^C' 4PM-Q8K%IY1D1Y3]-"_QGHQ^PH!*8::O"O8
MPSK0VTS;QZ@@)S'(DE58/&=PK(D>)J1A"K;-(;E]73B9_>W7'MDX-:]V0"YQ
MHZFPDZ%D*>\=;,^VE$DP%YA[;AG(),7TU'@A6%]OV\1%:\I1+>J00OII C<(
MK:HPMVVB>,H QKXZ*P]:-N4L$SYQ]UZ7UKW[VM'7>&+!#9P_?!^-"U2U80UQ
MD"LN,#D;;<%U8>@MN;6C)!0)M;-3[H18G(RS4VZ5N"H @N51_8FZVGB*Q^$E
MJMO=U=V PG!=-=SD3=@^-%;^KEC\92^;/^$MJNULW70'+DHT'\Z<D-:(N=S8
M4OJ88P/M70;*WH!/$63%!7Y\G%YS562HN2B:'F0YY-Q7KAN01H&+:%.QMNC]
MQ0G")U)6NV6BJ'#CO0%>(MJI-0N@UBCL7./,R0&)OP?R)OG6\3-T"E.I/)A@
M40C,N^N!TG#EIF'VXQ93AQN6:ZGG:*G'-9O^O\$0R:^5;!LD49<*)4GW(GGC
M8]-)UV\G:,29)?31/?<(+@Z1R 5H!1)[7<%U^6X)=:%)5$.$7W%%]]9VZ784
M.9,C5V-W9_&K,3%@B?L5[T?%N^PRD9\<^!*1CY(.9)UC2,/<*1]+_$E5FQH3
MP?G 0-UPK<VK!4M?O\".:*9;5?*ZA"GA&).<]D!\\T -M?J^5CIV=FI59.64
MM8[MO47)*K:G42:GZ>K&A.+D%#33*O9=Z:6]22.IB,^5K\'2R6Y^#^[!<_;@
M[KUX<&?RFWF9S6>2_"B;&6!H%**/[UQ<6YEF0,MD/C _M>0E?Q;8[/>$0"_T
M4LC767NG6"CI2E?R3$>>T2S0>86<SH1U:W6O5F>9ZN>3-CW;_Z]J8)?5]B>?
M.O!8[Y]@>^7QJ2MV"I8WF/(D"IUB\%'I?<A$M>_6XIUX='$2;Y!6UQF@7S6K
MY'@C.-0!A:[@RVBPC]8\\(\^H7X_#?J$!X++(Q44_V%@3)A/,\0,NW:,Q@JV
MZ="/_;[R'K7]B/!JLD$0L*2(U U@]Q!L$>BSO$/L% 5%_XJ3 =A#PSHM]9%V
M"9BF%Z3B^(!SQ/.I;[T[@BENTK]K[RHU8QI[@E8\FF0%?49CT/M^NY5?K7 F
MCP,N8SK>XFT*MZK2N>ZO*&NR%KZ=_OJ[RW6ARRG%>L+;=6"V:_MENR:W"_D,
M[]")")A5[-*]U.[M'E06*AU-X_IK4#8&ZL%V)8#ZXZAZV_:V=Q_Q]-]@0X;*
M*H69PRP!4OW6&?O$,4ZK-)5'7"IRZ.W7YLK4?ZJU,@?>UN'#5\L\;+54?5D4
ML%I9,ZN$YI'72-2\@YW**N;G52J"_LI*H?:LMF%G:WFU4^N&(']1,,L5Y.D0
MW2=_!0POK3+0-+HTA: P;)<EL<"0PF]?R385O#.6!2\&_%+M;MO.+MOA9;T'
M%9\9)K:EQ==(.BQF9A<LGYX_#*/KWQ9HN3;=L%C@6S=;2NU*2ZERB,5040[)
M^=S^_83P4EVRHC!)ATPJ\DQ6@+DL<^TK^-;M]^[F?3JGRU/>F?NQ#;>W7]]N
M\C4*,9APER=IP0(/K+VF(6+GSCIQRZ2XY=G,^879*WDUSQRW9@Y1*2]FCUKS
M#FLB4]=@AV[^PN[=R.6"&S+$'83&+R1@H%=W:=0_HWOC[>;=4%(/9A^$EP)I
MK=Q"TT_NEIN]]-=N0YE[VS?1Y;JL[J:E'"L$?I5'@:FA?4Z A>,<Y=E-I'<;
M!ELFUSP9W>7JG,27(':3E&,O-Y/>M-MRR]U?\>=NV)Q;T.\;T#_K^S>1\)(/
MZ>T,M+KU.9<;>)WN"D/Y8C'U*C#Q3;NX5H5<\;\JP5ONF.XU44BAUP76UQA-
MA;>Z0>1?9UR>35>1;Z5D/&,>3!)+C<>ZRH8CM5+)UYOO>JX+[[S%S=H]J#\5
MR7!.XERIK,&5]-98'K7-UR+TCDK)R+\FC>0QG,@MZ WW[HG0VX76/+IAUAZG
MF:Y@6U?NUL 2%[@@@88^6O]3N 6-;=>F\K3G14"K9%A?TV#DAUW2 LZP3X_;
MR+(@SYZZ*:5:KJ__XN:UI!#7A\_2PE%95Q9VHG.+ R,KGSC)O=DFZ_WM8UC>
MD^9Y394+:DRH%9S)7;S3*_GL;4AV__!&3^@=+/-[O@GS4@7*PI[?"2/.JAV/
M5&'6:KGIE'#EG0,!!8?N(G&>.2:P**'6-^OEQNPK" W<;>C;:!-;-YK?R]W<
M=?K:1,A\#2I"PM];B$.%M9=!FDD9@8M7/+^>J)*H>-0)^%&K7JSF[>T(FAL7
M0NQX>]L[4PLAN*1BSZOO'TXMJ2@52V!E1 F*S;FI&H* #731&G*N5_6M'54V
M[QN_H2S(@N:9BM3E8U=4P>'H!KD?1ADB"$U_/B7LGX@[+\.P7Y(\<'<>*3Y,
M&12A@?A0+ G*A/,]P*ZG 1?U(F#!'NT\P2U)S7%20#[PS;=FU=.KK^(K\%GI
M75RNL)?S*?)W,R&G?5T]\I5T)9]:<!B:L(9JE,LUMS0 U>]4E-L8I#@JWBXY
M8#VG\'>_[">CXL.27T,J8*M>LV)^C&@Z8?D\+'DMT.#X2K!,7^G@B-[J(E&,
M,Z*'@WVB!J=(#:80551:_(AUD-B7NK9=-YV1-]U& :MRX$<]9CJA\98SPB.W
M)'9;29QL7 0__B=SMVNO74'!<!ATU0.FA+&&,!=ZJXI8 -/IC:->&$7LU(7#
M'>+Q!8AV%0;8I'[3/>L)=6(G=_R4F5E@?4M-T2MB;CJO]ADUP7.Y23(QZQYB
M+ X0(39)NDQ7&"/9@'.!=_LI!DE"[JD\ 8.6!@1B!+PK1IK7K9XGD+CZ@XW+
M)!H/ P6PB\AKTJBXW+JYG?A93N^X/BB.6$RIH%='*?9-YFJM(.[G@VOXK]_%
M""E!^.!@</74S#JPK'$D[G*%*V6Q"A0<"!NQJ^[$K"K;P^=<9;O_[*ML9W,M
M=:6],LJMU"4PAEKAHB$#2Q%0KCV^WO '0,;.,$%RS4SC<F *0_@N%3T6XI#P
M_R.\ 2B%3G*$SH,+B$!YI+\@(!/QJE[8'V,S=N0J6AJ2\E7C:8%L^ONV^^%/
MO 1VLW,GA,DE&&DJ#IO$O,YE2A$%G8%8'S<H%5/D@P/R8?M :W:H5X3Z<Y9T
MKY09=>^@5BN(EK(NH2J(,P0R9JR!@GZ"4O^5> .<25F3P@[$8S":<SP+N][6
M Y:?(E$P!@IQ-7@%U6U7#L#$H?%L%1BYJ!ZR'I%!KW9W->Z"4Q9W0=&"MX9]
M--A$4Y6#FK=[<'BS<E!'9]F4,^I-K1HN;,ZRE_3  "/O_?B'>T2P*>X'[=19
M'=C(=UW!3DK5):-K(XHH%3GS1'!J8KKM;FUIT\V'*\:->)Q@PD>I7%+7'N,^
MPNN$AD_F%VL%;AL6RW9!]9!TGR*T %.8]U\&UO((B2F^UA:F4K2=DJ*M]:_R
M*&I%,EIH-/LD5FH>%:[#/C&"7D[I)$BFOKN]M='UKP71T(-7$&@TCL=H8B":
MF5,),H@S3S5.)[#$')4TXEZ@J*24,9\Q+= BBW-<8RXP#541R*.N>$#5J5E'
M[2##;@>X%^,\Y+,6=$=]^L")\QQU6?O<LK$\J:$72=0*SB)(:FKH@ Q(Y]8(
M#)+,QB6L[Y $DR.Y&T0LXYA8V2A)%>@1P3U8Y$E"IN;MU!FHT:_>!O[:Y-S!
M^ O3H*3Z\AOK>M2FXTB]AO^[!7?K_(B2_OS<K#'*D\S+_#C;N.4,5[T#P$#S
MZQ'C3&-TB7H+D+ZC>>*&\F*U>?DNZ8*!*X^")N!W!HY0@2#\BEQS/R578+BF
M!CP4D6PM@&X%/\&XI$%ZB=98>4#/#6*2OUG&\+4C/TS)*P(6&O8;2;'(HI.0
M+>PY'&$W@%]9$=<K9$0H'##RVWC,RF1'E<CH6&1W(L,<1< <\2KA=Q&OVL=;
MC9<*)@57E!0J3WT39@=7#AU"LENL,6=J1[X/,/,;="T<EK>=0(.GK!UV+3,
MT8%@1J$R3T!Y!,676E"! AZBW@YCIXM,"'X?I,.,,4 ,FC:U<B% +-@50LKK
MIU+ZA-J@#_II)U=?;J/6@[8[<*!V0/Y0>QZJ.\P8E=+-2<2I55#OJK^O,:$1
MA-U _Y+\9V>KT=F1_VT@+)@<N*%M. 3:3KQ>8^H&P8C7:$.A8UEU@Q :F" !
M0GRT::MTR/%XV!8H>Z$3%QAT!M<D)9M1D=YQD('9$3@H192G&^,J-)MV$(4(
MP4_R9]I,T(Y J%*T&] [@]<#+B"BYZ>D?K![2@W88$:!FV(0O[6<\)Q)>F4
M89:)KPZ]^OZ^5]L[\+1I2Q^"/VSM'X+@JB/1&=U-?P3]\K7#?6]_9X_Z<4RY
M6T]-^3[K]=P-][W $+4(AJB1I@CH/V14BQ5IX2M"W?I>Q#Y';>>F)9:T& V)
MM+8ZR<*'?(1V)-XC27ZEKHR"K;VZ$UY%G:UAAP*&:%#*J]1M$]C2/B.'VYYA
M8(7!S3D 0\V24H)#A\L^'@DZ^H3^#L^A^Y180E783!J@65T>*/*1<MC-)]F
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
MT7\DUXUCAWW-UA>W5+RKO/E*F2P&?;4G'5<ENQ!BK6<7/;#BHV9L$G2H8DJ
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
MO2E;BOPGIY&UP V@Q;JT/A=V#Z9LY$#XAU@;$\5C.::_/\$&+D"J6JXOY_E
M<K_OT/8 ?B<9^NYI+;HBVS+GP9,C(@09@GYO''>[DV^333:B.U.^):ZL%83
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
M01<75QP]U0>5I@ST-$QVNB?'./I^M\1*87]E6:_X7L4/.6_]+2F;'8B2Y\N
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
M S*WR2=P0Z#>JPK6E:F]O; O'^VB^3#!TC.&NHX^>D#1")8'UF$;W AT3V:
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
M?6@NKTI< M?-)ERU-6I$=&/&B22G(BN0XKS=+1)6;OK JM2WFLU96;@3\L,
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
MZMWM(=19C%!B?04 FNXDSDQ31A,\&Y,2::\HLOV C&T"XM2JX4F3I!A8IR*
MS5X/8)I5*DN[HS>WA [PVW5T)#V) %^7*,@$':?(;K,X'FTDVP#"$'37T,O
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
M+&FWPY\R'KF=*-@YOKC[H2-WS+C!XMXA'AEWC6K1?4MA]CKWWGR;$Z16H+9
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
M]((.WJ";X:^<@,BA8-]RR,_?>![K?W."U SW:05QA5\CE^P9J3;R2V(J\*[
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
MD*A7'I1*Z*;UXUY2)TZ7#XA?9=T4VQ1PHC? 5@,S.HP1)<%"ZQ@["'ZENO2
MJC 6I\,^K!_G<$10_>9<R5;7IIM7LNEH;*)5K,_5X;Q$N%;U;3> F"'CTW#@
ML.ZQ+68I1F,6)X+)YV$6)[3)1F:)H5E6 LRR%^B1"Q8I>A:'ZTQW,I8[88LG
MLWM08"/D5,O3HR-K.>9C8;ASG^J+3'7@.],UWBQFPC9SWM3(+5W,P75W\,5C
MHED"%D=D]J"E/@!'&#HJ(D=$N-;TYX@"4TR7\[MRQ+X+YR_9$3KC\LJ2]*!,
M2&'5]^EQF4NR/WDH'.ITN39,UL&D$>Y(_9FT5*;3.6;7+)W8^")4=#(NY^J@
M^<+I787GBQC\<AJ:PJ1+='!^Z2'X5SZ!N%@9L[E/A66NJ&5;T*$PIE-A;9BL
M@S%C. .4LTPZER\<BKK:AY?U,;C"J:Y"<P4=@_==+)73&8;Y8)Y67V$Y7IW(
M;]C3XOBI+)&^GM#]+B&_*V+P8J>#HKD^]&#=OKJ#L[6.<V/8B3L8.99# YT'
MGRPX+6I/"BZ_QV/DQ^$7QZER2WZ)Q7^G<T7DO^]J$/?@I_E<E33A5A4W\B2)
M:PO<$?'=$Z[WJS'-ITUJH">;.BW",'WLB>$Q^(7^:W'(02SGE6*13F=*P2[
MQ\K[WZ\B_A1LZ'1$0[-A#*<3.HWHGLZ'"*?L5M80HWM*:A#B/BT7ME&:[V[6
MO1*#B]D8SB?E=#&+^*)\,&&V\C;:Y-WWQROSN)B-P>TNI<LY)EW,Y#ZL&W7!
MJ^I/JC(::5-HNPOH1=!0=R1@/_2 [)B]A:=MNG7;;-&_11Z#)TE<92HC J[P
M[WTY9B"T6X0[!YQ@4RBKB59=28OG]NIL8O+M9DKM8LK^W<SP<:TV@NJ*X811
M0*?13)KQP+/?TJ1]/R!F+.R%&74,DF'F6OSS.GGD9O0G9T9O/1V#FU] _A6R
MI9[]ZG=AQF0C?\&5@N]95ACQBJ/-SWU=-O.AL,G2:4KBYYNY?,?*QDWKB*!(
M8\E>*N6R:3K$W<5'*TR->*MO<)"74_D9.,A3^^5B.$5DTX4LDRZ7$^*@:#6S
MC<&*J^5O[^55A2E:E?+1:VIBJ/*P6S"*7P#X)BF'A+(2W)>,XJ'S=$"Q:\HH
M=J7>6-5=J&G/L;-_T1LL=XVMUR;8(!,,XKOZFB.P!:QM,1?#R2A?RJ2+.2_L
MFY EK2Y*N:!7DZ?49I#48BX&-YDI9].9?,3:U3@*G/9?CEC,%9U5:\B;1"[1
M7+UBEZ [P'D<C=![W(7 #@'N7.#5X,K$YKHWOLV(@]7+VVUKN93IYVDYBE(*
M*%(LNHL4D4=_4YN_3*JSMX=E[MOO2JW6O6G4J<;]5:/=VQ4DU6<^258C%G-E
M?^14-_4W8J<6/;%3@P89K/Z<73:'L^?5[66DDFT?:NG?,TS"NT"H(C9I/)T6
M%D^5[O-YSJ_BT#G3OZB*<&><SX(=-)46&Z</ROU%D_T"3=T5-+6CG<Y7=:E\
MIR9>LO;.H*GTNN4!4>RQ(@NPRSK,,^#)D:#.E*U<U%8=H3U8,<O+>?FJ/*Q.
M+="8_8&G&CIC9(.;3[1>+HXR(V_JAC^),S&<H_+%<KJ8_SN@4R/0V],W9B)
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
MLM;]!9GLT5R>07H.1)WTWQCO%F9>=?,0N+1TE3O5<'W@C,>X&1BB>61?IK'
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
M9WU7S5HI_Q6]**.=>LV&<4.5DVX941KL+HK_E<"%S9K3]<XMUW95TL(RE&N
M@8$0!4J?5XA=BUM-[].^AWIMW\2^HN<$-5Y_JSJAKWU<7$6+#/[\^SP0Q8DE
MTQE)4X^27#MAFN9'\ZDYX2MI'Q%M8$*$?&#*A>G'%[MX^KR.H:L')+X]'*O3
MTAZJ/P!02P,$%     @ MW"W6-+XG"C#!P  WB0   H   !E>#,Q+3$N:'1M
M[5IM;QHY$/X>*?_!0KHJD3; AM"TA"(E@5[1I6V44)WNH]DUX,ONFMJ[$.[7
MWS/V\AK2$$JO[:FM!-G=\<S8?F;F&;/U=YWW5XW]O?J[UGD3WXS^U3OMSE6K
M42^Y;SPMY8_K%Q^;?[';SE]7K3>%GDK2&O/+PY1U9"P,^R#&[$;%//'<#8_=
M"BU[!0S$T.OE<:\Q[)+'72VY9TCLC,5<]V528]6BCX>GQ0H^RZQ\QE)QGQ[Q
M2/;Q4,O^("TTZA>-UOU =F7**G[1KY<NX._U<RV5BU5GPRI\D73-\&Q;5<RO
MGEAE^";7E]T.1)(*76C<?+IJ,;_"C_R3DE\-V8LDY&9PQOR3 W[(+ELWG?;;
M]N5YI_WQPU;S.9Y-:#J;+69"_T^+5:@J--H>NRFRVU0,!R)A[[@V@RX$A68'
M0RV30 YYQ,2]"+)4C@13O9X,A#[T,&.=RMZ$I0.>UG8[E\[Y!5;QLG5U=7W>
M;+8__/ZF4"[8Z]OK\\OI]9_M9N?=FX)?+O]66,'L\1K,+ID_2M6P1M#++[LJ
M355<LT#IW$RUC6B* 8^FFXQ!!/9ZISF5&,LP'=38<:7XRJXF8JK9>/C<?UE\
M:1^__?BAL^CK48_',IK45A?)/C/R'V&7L-#PB_42C9T9V%Y5FPTX-E*+D11C
M$6+_I&'G29)AGV_$4.F4J82]53I&[!_]@1UGMRI11QUQQRZ5A@!/I4K.EAPJ
M=6[H@_;M9\1!L5RE@/Y)P'"\"H:IDB$/0YGTCVP.A:$JY:FO,'3!#0 "-,03
M=I>H<23"OO <8K2#2JBPN(E*]_<"#.8R83R9L"Q)=2:827DJ8F1& A''\B)%
M2L"LQP/<TDS%2.^I<G(/!!(1"&.XGI!(S.\$#"_H-+@7PAN8C&B^9 ,"<$3J
M((LAEV \7 F1R\8#&0R8R>ACKF LM,BU8 HLEB82G%:0C64ZP!3-4 360[(\
MA&\J9($"$K LW<GB0NPP'/Q?X? LE%8V# <X<OQMPD&PGDP -X+N'%[>_AY/
M((_G>D% )CWD5IM#\7<092&4 L0+8/(0 %)'$S8$!"E\**RB:!X?.3+-BFV$
M8"A)L4<2600!!(4"<*TYXQP*0$A8+U)CDX<,A/O2I)K#$J>;'B,YN+F >S-U
MYH&W_ROH_S2H/]D4]6Y5O\+2NNK_0IO/F3HS.;IS+@BS^WLY0[00:C.NA44K
MT">[D;"@$HB1;B3-@#(MB<6H&U0[Z#J4)HB4R3".*HI6D;$R0ZT"$>*V80<
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
M4H1+KD@[[J>5')5%7_FEFNIX*JC\*S[*?R(R/A\?'XED$NNYP./96/LDS.^
M'AC=AQZM&/1]@"[]"'HJ3_4S/,JM)X58I ;[G<]QI\BJE>KYG_=Z0!W+N_*L
M^:55MN7MEP2\@7T^F^4OA[UQ44,@^0DMG-GRXJ!5HA=/:B_/-W1?C:48LG=+
MI'ST?. )+7S_M8I[,U#P'4N;&TV!3"_Q^+=ZZ.6?_P!02P,$%     @ MW"W
M6/'UO5,*!   OPP   H   !E>#,R+3$N:'1MU5=M;^(X$/Z.Q'\81;JJE4)(
M0F$+I4@II%NT+""2ZJX?#7&*=8F3=<RVW*^_L4/HRRZK'E>=='P(BN?E&8^?
MF7'ZM^'7R:!>Z]_ZW@C_0?WZX3B<^(-^L_Q':7,G[E_/1O<0A/<3_\J(,RY[
MX-BYA)"EM( I?81%EA)NE@LF!%2PV$!#-)V_MNNBV9"D2\&(62BU2TB)>&"\
M!VW+0>$GJX5/&^Q+D/1)-DC"'E HV,-:&H/^]<!_6K,ED]!R+:??O,9XY_\4
MR;;:)89V>,*717YYK"MP+KK:F6N[RNWKL%>42RIV:XQ'5+EKV);;9MP8#/U%
M.+X9#[UP/)O"_&X1W'G3$,(9.H4[*["&5KT6^$,M=EIMVSQJLZ[:K=-N6=UR
MVT[[7"7Y9Y$: R\ ;S2;A_[H94#'9:;U#KQJ>UV[ [,;"&]]"+S%M3?U@\;L
MCXE_#]XP5!+7MMWCMZ\/NSKI(YS8RHE;4O.3U<8W8S#FL,HXIRO),@Z/3*Y!
MKBEXG&]( @N:9T)"%D.0\:P1TC]AF E<(UH]X_7:3292K*3&%X@SH6VWE B@
MR),(;NA2;(C8@MLU%;G.@100LP1%>ZB KC:"28952'@$_M-J3?@#1: T9451
MXFC-B$@*:RHHQG.*"_7:21)]VV2799@G0K^<63 V86%!(&F^IAQNB2C62\P"
M%28,UXS&"(*@DGVG,(MCMJ)"0\\%+9BB-YSF@O$5RS$%=*^:E:IG*ATJ' PP
M)WQKUFNX*EF\-2'?B&)#T(',GND/Q2Z[FOTJ R3*<HDY>*E>*2D.[0 "(I:$
MTZ(Q>TKH%KR5/@G%(1/E1/8.L>!"]X:#/#@_1*;0NY[X,/0GD[DW&HVGGZ\,
MV]#OP=P;5N^_CT?A[97AV/9OQIN&ZOZDH;Z";\@LKZBX7UMF4F9I3[>R<%&Y
M_*Z2NB))56QHJ=IQ/QQ5&H\LDNL>,MJZT%S&KC\:_"AW.E9'BV]FV =>!-R(
M2<J2;>]MIK2L8']174_&X-0YZS>5\1[A>%\AGNNNJN)-DFRQ^M(\4>3?%X2@
MWS9,T!2)6*@#?Z;/*3G31'7:I]%9O5;1Y+F ]L6SXXK3;9U?*I-7\3?#A7JH
MP_[ 3O2?D>?_PQOW+6\J+SF)(L8?&OI&H+9N==K_"DK1BG'LP&G9F;&G2\(X
M]AA6]LZ*<X2)9%NOY=CJ%+],)2=)@BG%2<:PWZ$@1\(5IC:+&2?8"'$=/49,
M^U8,1*U-HBF6Y;2<!L6;OFA]'.?L#YM^]HO1-\(M]^ KP>G4*J?3<:/YHV+#
MZY2.KB3=W:!9- ^,,2BAWO_L-^^.NV.6@5FO0CL0T_'WFM9Y9W>9W2&\:TA_
M(-XOQ_TA',?Y!=!;-J@/$?4!4GZ1J ^7OP%02P,$%     @ MW"W6.D K?<'
M!   R@P   H   !E>#,R+3(N:'1M[5=M;^(X$/Z.Q'\8(5W52A 2TK"%4J0
M8<L>6Q!)==>/)G' NL3).N9:[M?O."%LW^ANZ7X\0 GV>%[]S(S=N_:^3OO5
M2N_:L4?X!O7I>1-OZO1[S>*-U.:.W!O,1G?@>G=3YZH6)EQVP=!3"1Z+:08W
M]!X624QXO9BH@TL%"VO(B*SSIWP=9!N2>"D8J6=JV27$1*P8[X*E&192/VDF
M/G70+T'2!]D@$5LA5;#56M;ZO4'?>5BS)9-@MK16KSE @^?O5:5K+:M0DDL\
MX<LLO3Q6%ACMME:(:QF&=I'*IY;[E$LJ:OVAL_ FX\G0]B:S&YC?+MQ;^\8#
M;P;&!=QJKC;4P'6&.=4P+;U^O&.&96J=PB3#.E<!?=TDVP5[-)M[SNBQ/<<%
MP=2U7]!8.MC1VS ;@W?M@&LO!O:-XS9F?T^=.["'GJ*T=+UUR)#S7-/!$)SO
M][;<V'?[@UA4831W6/RD62BSUI]P\!/.J2]9PN&>R37(-06;\PV)8$'31$A(
M0G 3GC0\^@\,$X%S)%^.OW$BXFK%T!M_0IB(G'=+B0#* QK F"[%AH@MM#IU
M]+]U#B2#D$5(VJMRJ;\13#+,.\(#<![\->$KBHKBF&793H]:&1!)84T%17M.
MU<1)%'S;))>%E2<B'YQIU<H$$U;2=$TY?-%@0%81W=9AN&8TA#'CA/L,G9N%
M(?.I@--4,)Q)<8KX?K+ADO$5^IQ3SY3S2A>:DQ*.8G!2LA#_I!N1;0B7()-'
M>,]VH<SQ7JV@OR1(4HD>/UY?KE*@V2EPB5@23K/&[ '-!=O/XZY 4T<ZD=U#
MFW[Q-G8.0<>S!U,'ALYT.K='H\G-YZN:7LO'[MP>EN._)B/O^JIFZ/H?M6?U
MLO5*O7RBO2&3M*NJWFZX3*1,XFY>HKQ%*>U?%4^?1&5>(9,JM#UO5*ZX9X%<
M=Z%E:A<Y9K&>C_HOZ49;:^?D\0R3_I&MC9#$+-IVG\<HIV7L/YHG3JU_:ISU
MFHIYK^%X61[NZ"Y[PDT4;3'+XC12(-\#7]!O&R9HC'4D4UO] SFGY"S/!<,Z
M#<ZJE1(@/Q)EGR0[E!@=\_Q2L3RQO^DMU$/M\T?:R?^X^1EN6L]Q4TI)21!@
M,6GDK5ZYKK6M#ZE2L&(<*VU<5&"LW9(PCM6%%36RQ!QA(MI6*ZF@F<)77=%)
M%&%(L6FIZH>$% &7U7.V<%\546+ <MD*@;AJ$^402U):5/WL6474?A_FC ]W
M.3W_ELUMA,YVX2O!_F,6_>>#)ZL/V&5:5GFDPI/,_C#!L$\JWH:NZ04T;OO-
MK/FR?Q6J#SU[S=OC3GIFQ_@ELU[8<WPD+81BJ0[/D*]WY=\E_NWF?DB+8;RA
MYF<P>!>SNI.HNTAQ.5%WF.]02P,$%     @ MW"W6$B^K'ZJ#   AG@  !$
M  !S;W1K+3(P,C0P,C(Y+GAS9.U=6W/B.!9^WZK]#UI>=K:V";ET>B:99+8(
MF&[7$,Q@TM/]-"5L$50Q%B/)">ROWR-?P& ;9"?9I6K=#Q.0CL[%GXYT_-EH
M;OZUG'OHF7!!F7_;.#LY;2#B.\RE_N-MX\%NMNV.:3;0OW[YZU\0_+OY6[.)
M>I1X[C7J,J=I^E/V,QK@.;E&GXE/.):,_XR^8B]0+:Q'/<)1A\T7'I$$.B)+
MU^CRY/Q\@II-#;U?B>\R_C RUWIG4B[$=:OU\O)RXK-G_,+XDSAQV%Q/H2VQ
M#,1:V^GR-/ZG-_R>"F<]^.K7TP7[<3FBWV:!_U-@3+XM'0O_:IT[EONRN#M=
M???NY.?+3]/?GOX<KLSY^!ZS+OW^SZOOY+S]<&]&)F^$,R-SC  ,7]PV5'QQ
M>"\7)XP_MLY/3\]:W^[[=BC7B 2OEQ[UG_+$SZZNKEIA;R*:D5Q.N)>HOFBI
M[@D69*T9>ND>>>H+B7UG2]Z5ZP%IX<M6U+DE2G-%/T6B-!%UR8Z<(,[)(WMN
M00?(GW],! /1?,1XL1:>8C$)E<8=6\*"RZP@-.X*->5J042N:-2U-8 X;KZO
MT+$EZ$J^HWGK\D)W2W6K,>?-TXOFQ=G:)R8W& KFLZ8D3VK:A_I!_ J2UR-S
MXLL>X_,NF>+ @UC_#+!'IY2X#20Q?R12S6.QP XYH"U)!NS[#'(&$C=N46V+
M!86D6#= DYI$UYQY9 S^(_4!DC;?A.IL=1@L/ U$X<)%'U/*$G4NF5*?AJ;C
M)#U#3962@0H3/H8C;UJ[PEE-@2"NY?\2?EYP(F!X&%(?&N+QL<C^L0[VG,"K
M-'3CW[Z1<7MR(5]WA7W!/.IB2=P[[*F,M6>$2)%<]:)N+23.X?*KM90D4%@#
MV^J;W?;8Z**[=K\]Z!C(_F(88[L&J"1 0\PA_AF1%,(Y@-:VK!9T%_K0H1^V
M]/^CAO(PE.M+*ZRI">74G&0AS)'1@N[C/NCL,?RY-P8 F]5#YJ!CW1LU8/F
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
M0_9%)H=[1E']*(@NN8P*QXPC9X1W(M>#5XR([ M.#NVM-32D$L#)86"6S((
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
M?1["&O8F1481+D(+5Q+E3J&2 Y81RZC%6>SH[ZF?3VXYVX7/G>AJYS9_#"2
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
M5   9L($ !4   !S;W1K+3(P,C0P,C(Y7VQA8BYX;6SE?6USXSB2YO>+N/^
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
MG=,PR=+8CKQ/\@BP=?QIA<%2:(C0DD5<#3$]3TRZP23.(AIF$Q.'!$G7[%%
M'?)F( :*,7)L2JY4XHC+^R?)+(VL*-+*^2'( *:<'K400'+TD9FH,6,'UOT1
MXS+.PR"IL%S2WX:[? RRK@FBA#LDB2 (BB@J=$JR5 H-9[B*5\+\%0?$CBX=
M23]D$:#*J=** 23*$)N))DS>"TFF)2$]U.H>1RWJ;%'6 +9=GU7(@2"* 9RX
M68.+]XCBJ0>:I45<;"_C!%^5DIT;<A%7W%"!:S@Q? Z""PI00AY*+H:8'*H$
MO=1\LTJ0%NSR Z4Y0S&W#)"#[+.@+P.("5)@"C;L9/E=%%X8,>6[QY)Y&N'G
M_\1;I5V"G%M.*&#V23$0 L0*.3(%+6IAQ*41%?="C!L2KP.RO8M#0U<A"KJE
MA@IHGQM#*4#D4$!3L*.61G?SJ<^>9!D\SR-*5):%@"\Z&UBBE'=+%@/L/F<4
MPH"HHT>H8!!50GTMGT2:IV%&-EEGN\.4[:4GVVD6J2,4@Y9;4EF9T*>65@40
MP6QP*FC64SVI]J2@C&U9YP4@5H(7QDVBB'ZHO/[/(D[Q6Z7]4EFW[-+ [7-*
M(@B(26IT"O[4DB?-']6]?=<I%-*<C3#US#]ISFQ)<P::-&?[D&;Y)0-"FG<C
M3'WGGS3O;$GS#C1IWNU%&G:[GT_:3.F?UV29?9%MSE9*>J&,"%5*F)T8/+H(
MV$QD80HLGF$J/FG" ZMK=O_Q4YR&ZI!9)>Z%, K04M8,9.%11P[0Q)\V(&[T
MO/J:*B@W-I)&S(^7Z8.4NYA*!AY)^L",SJ62]DF)FRPO@N3_QAOM0%PN[(4>
M4L!2DO0DX5%%!L]$F$H'424? ^N:KFQ!0WJ4;/#<W1%@":S=$>#.0Q DD"$2
MCP!7LR>5D.MJ9APE.%!XA/YC9Y4L =76<><9C"H6 0DUS-LUE?'1D!<9VR/U
MF*7J#0*BB*N:5H%K:GOX'$2-*T )J5HSOM>,R7F:C7\N<)K+W7?GF;.>?0BG
M[<B;!R!J=XA&Z*:;YXYK\U<2%_3-TVR]+M-ZE4>V;U AYZJ6M3";&I<*@:A]
M';(A$VI9U!=V3(N[+(G#N&#7HM+!)XD#F54R(5>$4 -LV"!*@*""$I9P47HK
MB!I)QR2X(9B1$-.*X(< <1JQ2TM6TMY>)^R*%&; #3G4DB!(8H0W) M5. T[
M&JA205S'+VWF>5YB,HH\$A5/%%*"5Q!)D(=()Q5((ZDJ19_<NL-A2?O'[=NS
M^V5<)++!I2CBK$]2@&M[I,%S$-Q0@!(RH+)G[!:JMV??WG^'&BW'U7^5L<M$
M:9=XMUW?9XDB^Y14RA4)-! ;'DA$0%!!C6O(AJL,U:*HDO61G:H'5F+.X+DK
M DAA-57?>PBBTF6(9#?X[NK:D\N?/8>/%!16'$B0B[EV_3*00_??E0%! 0TP
M85!2BZ)&UL>!A%V7]6 . AZ\!0$/AB#@ 6(0\& ;!#QX"P*:UU8I0JA?NKY/
MXH= D9Q0*^V:%!K(0WY(1$%118U/Z3-:%;33<9W1DJ<XFZ>KC*SY^R_I'Q(K
M%7+.<EKJ8+9)+65"(#BB0R:DM:R2SG6$$9-VS8LRB@L<56 NXS1(PSA(VO2(
MLAEQLXHSMEB";XECD(?!(3N0 ITJM2:78:NX2W7I>BJ]VH#Q*TZ2_TRS+^D=
M#O(LQ5$UER);*=++N]TQ8X#=WS2C$ 9!)QN$BJTS3.GT,]-"C5H]$^:%29^R
MI$R+@/"SY$3FF11R;IFC@-EGS$ ($%/DR!0,:851)>WG@':5/:(-LIC#DZ:
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
M":%PVV0CCV8'.J)R@! BQ_3KL9R>%]0-)AE/SE'#4W::6AVWP88%_'X$HE$
M0RP;E$-R-3I\4\N&9%$9%BC::7NGVAU.:'$/U*8J7>>NW:C6,C4*3E>&C<![
M*\1*:3#T,D*4YU?E6ZDHN?)*W3NAWN.4^M.$FC&)UG$:,]_+-FWI6674<AHN
MV9G0"Z'T*F!(9H=3B+(J+<ZSH*?GG6Y";V\;%7B.L:QB*UC1N J>?!,+P+"J
MA51-'RWHT,%D:E?2"U]$J%+&[,2 <D8 J [#*U'O;+G*TJR/OLD'JQ_56>BY
M9)*U&5U>&97 =&BV2 6Z\9R\]3SRM[7.=_Z3H["DU3D_"51AFZ<%IM^L8(..
M^"F.L#)#JY6FZ[SBEJ8,TXT;U,"PSQZK))TAE^0Q52,+Q?7)[GKXF!(<)&Q?
MP?L@3C5]IZVR[_LXU :9KN80-<$0<A1<V<)*V0JC!RK]P[<)E?\.92E:@[S.
M8Q=77-(:K\Y-EK0OJ,.)+,W/\2HCN).#XH+^D1=QJ%V)W+-$]ZN_+S)=7"'>
MJSA8,>?+#5$L-]]SM29HX(I ^$^QU"',.1VJJU>@E-+N>:N$+')2$ 7C;O7X
M%#2BXLV8V#M]JI4S36_>%7![R\@06/\RD>8I+-<CX))UL4""O.8D6[-K^3S(
ME7VB0M8E(;1PN]R0"H+Q&#IT0H9^]@PU&HBJ(*X#CCH7<5(6RHV]2FF?]!E
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
M\:-@2B<R9$3S/WOQHJ9YC.;^BOJ%@[MYB E!#V&0.GDH'4=L<4 \'4<"5OL
M\Q<=QB!)KB.;FG=SRKK<;!(^]18D33Z=>;K*R)H?WS7E.K+5=GH.>YQ)O8/9
M=JI@NN-Q>(59MH[V+B\2NHCS,,GRDF#__7-SK2I+#DO'LLIU[H&4VRT%4HC]
MS0,]$3#TD>-27FW+Q  PHKWET40*4=#+M8@"4.F-B*T4('8HH*GO0<3YX4F2
MX_#[A^SI!QQ&-3_":$<+^H_?;YXVLEM.^H]<5+T,#*OL[N_>JU<"1ICG#K;H
MB=\LQKL2EAUSURD<Y483<R7/GG%8%O$3G@8%?LC(=O(<#T=@&CE7U:^%V7!!
M*@2"&#ID0AC;R*)&&/W&Q%TS8YY&[+[U,D@4E!@*N.*"'%A#@OY3$+4OA21Z
M^T;(3W5/HK\M,W8K@**V!\]=5;845E/7O8<@JEJ&2)W>CF6QZU[$X*?F/^"
M=4"*>N\]=57K$DA-G7<>@:AQ$<^POFL)/Y7;A"1+_%R<TP(_:\*6CHSKL$Z
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
M(&"#J*UF %(/R@1JOB&]XABG70$=NW0]D>S5"D7 *>30SK&*ZN! *H_Q."H
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
MX>-\SU(2=>Y\AWK;A\,+]?)X77EQW) $(_I4^F)THM$+M6^H:ZNZ3:X,;J"
M$=(ES3#@_<1V^\D-F['E4IYH4H6SJ##N^;T1X')=6T;^N(]MK[]&B1T,'OV'
M&^%[MJR2K@[N43R4!YCF'3F_F_BART!;4BL)),XYQD2'>#\7#_&RZKVL?N^H
M@59.: KBEX@IGM;(R[>RKXBHMR1T'<Y72^JP[VL6LJKRP-[01%?0PY[?5VAU
M;CM'6R*%<J5:* *$NI%AQPAKH6IGM!S=R[_DHXZ&FZP,>#G4&7*.E&L[-"?V
MR/L?[W]^ST3I.\$F(@H'G[0P$/-&_'M&F&O4;3]QC1'^JO) "AKQ[1E1H%<:
M9?Q/Y%!>$Q:5 Z+>B".OPF C4A)QP%G2M1\!QYM\62#JC3CJ*@\W965Q1QL=
M^(KB0/P;<<R=,M:@4[!;\ *2$DB* J%OQ*E68<"1J(H"^^AEXU(0ZL620- ;
M\:]5 %VL* KFPS@51(7VH0QX7]41H(O:==*)<Q-XKNV2\(8&^]"KO!/G3SHG
MSJZ!GN4[/=X*<5A!!'].7A,CQXZD8CLQPYD@3EX([4H?4*TS_AXE+4>QQ4 H
M6AZIQ'+-@B@33>.3,ZC>';_1:9PIL&E]" P#/[B(R-<?[&"=#G]7<<@T"L-<
M0M3RN/?S^\OBN'=UMYC,1HM%;SA:#&XG-\O)?';Z(%<I&MNV^07H'$_]^S#B
M5RH%)K@+?U74P0EM%O#0]YTK*W3#^>HF1[BJ@V6-56D+:X $$'+<ST[0L3.=
M;N$^^,D--S\J*R[J?J4+8(O)I]ED/!GT9\M>?S"8W\V6D]FGWLU\.AE,1HNW
MGGC")0,5.8#>!ZU_;CW.#)<.]+);\D3\.+D%RB27S6P_E7("CSZ/9G<C]N=@
MSCI9Y8DM#**OB77]>'GY,;$P_I/?#M\JRZ?H+KPNK"I.K\DD&C,S&P1^(LH7
M-WH<Q&$4K(GRJ#9K MX"5L^!<R#L0*80=: ++2(FS\5]\0Z0J!^5PAL6R_G@
M[Q=7_<5HV!O,KV]&LT4?;Y68OI2KGX^*Y1 ONJ6/3H691+Y3NFL%FHV,6T*>
ME\1$B:ZF5<"G UUJXK-1@%F,9*7WQY*#:<:FH^7\%FU5MQ-X>Q!+WXV4E7#Z
ME$ D0/]1UT+N*P!J"AT' D('.LE5S-1FR\ND<V]X7Q['U'?#1_XSUM6GA'5S
MWO]Y\J3@219T]_/[DK_VZFXR';*MTN+[WN@?=Y.;:]:YON^-[VYGD\6O_.>]
M_FS8FX[8M/7K?#KL3:YO;N>?1[P84O^[H<&&T&C++])&3/<])/I>"*B*TQ>E
M@AGU3;-6D/LJF,9"CZT"50=Z,-LBTI@X6<9)8=_\<RFKS6!P>\=6BZ-_\L4B
MUGS'%@_\AA ?9A(E+ _@QE!60LI2D6[2PTRTG63$F;IIICFV C'J;I4;Q.YY
M>D*+>2].@ZX#W8_M-0/OB<V6K"$R7PTH<=Q(U D_"MP?\^EG[DR<3F:CWGS<
M&]R.AI,E3F<<DOO(9-TI*X^UC0MHQ*,ZN%B@S9JX/'('4I-0VIJI=.Y UTC?
MOUQ:+\)9Z;+T1MAD-IA?CWK+_C_Q=F"9Q&8[,$4EK!U82230#DQ5"WT'IJ6F
MM /3@]"!7C*RV'Z+;;9N"$W\*J*N\K[8549]MHWB>ZB;T6UO\6O_=H3D["L(
M#W#[26O@=)6B/(!^HJB"[=+3T%'H(5K=.] ]=D[[0>#;A/OR>:-\A3D.*'$?
M_(7EB:>74B#%X&ZQ9//+;6\PGPU&L^5MXB1/W1#C^>UH\FG66_2G6'//K1M^
MY7K=,3UI9+E^!#K6U53#Z51'9'$)C>8A6&WDK@:BJ]#?3&#I0M<+UFLW2CQ^
M3%%^DL8&"^)+0B<N2Z$3;#5W/5DF#KVDD[%^QV,G1C.\P F%2B9+/L-FL#HA
M0$A0=S1K![EC5J*XU%&K0->!+JL,'5'$/5V6@C,T<4^]/^Q:^Z^W$*@3M'">
MV.SAADRD01!&*47*O/,[5705SRWH"8A$K4'8U<)O;.(^)6Y.,%FJ.FC!UU6)
MT@. SM' "A_YN,W^X(<X3VR+X!OT+6!UM!O]59DS@@6?1+;-8Z(Y"9YP[I2U
MT!("5*8,  (Z4T4W I@L;46T[ %5^0)"@4Z9]*P;S!V\!;1D!%5)- 4'G<U]
M%K7Y:NSZ%MNG6-[$9SK&Z\,(+Z<26!TMO4%5'HU@02=Q?UP![H+R&FB9$*I2
MI5.^ ^Q$EO_@\AB%,"11R S*C<C4?2*.KGL!JJ*E3ZC.%Q".#A"7Q6$:="M9
M#;2$"]5I4BN/F7--<FMG:OD.OU^XBTO5T\:K:6OAY7 PY@ZD3U=ZUWK#)ED^
MG<[IT TW06AY\]4TX.%0;"Q(!P=XSZO4&I3:[KA03D$-G?*[Y%GS,'+75D1$
M>2ZR@L5R4)JZXR\1:XI.P(P\YU2A@<_^FKXPG]D,N+^9MP0EL3L>E*IHH=.\
MX&_E6M1A,CNQ'7VQ>-+B:*M;;6JJ00GLCDL%A ,Z6[<,1O9Y[E\=DB?B!8G#
M( O*UW$&J@QEKCM^% -,.L!?\8ZQP>F.MBJ4N^[X3L!X="9M<WW/7(X#NB)N
MQ+.)@8W O"6H373'25,5K:['123O% FC(LI7[751$6E;;S$1=7BSTWW0-;$X
M^,[<O^5O55 F:9)\"- IS5LZMZB)JEAUH$N69QAY/RS=U1>DCCFM[WU;.606
M]B-Q8H]O;YFU1=LOKD,F_BJ@ZS0T]9 _9<1(I;[E[<*PPZMMMA#GD7$+0I]<
M&Y:LJ;E/GFF6FL9)Z$ GEZ2UD??T4AH!67(;Y*GVS++<[$U-O(9+:)IOTJL5
M=N0^,9FU+UB6S+AZV]C79D"9<&K#$'VS*U(E_ZI\7A6^NDAY",-XG?[L%-,X
MY3O8L9*5[>1T<#LPEN?R*<G'[U*JB5Q6)>0A^[6D5SH8V%ZX 5OKL[^9]TM=
M"^B7?DW3+IF"TX%^52D%D[P'EO),G)*(";G+?E,9F4X)NNQ.EZT]^U(7NVPA
MYY*T,WXHY;@H9E["[F"O) 738=@OYP\RGQ7U;6!W,N-$2^8 U7RP@YA\1MX]
M2WDU\BEHT)>KKR,73<[-M5H1OC$F>REOK2AQF/DV,\6#9\C,G5BA5?1EK6DN
MFSI [)#;@?M- I^O8_DZ/=,CFTVOB$]6;H6]3(5&L1T*IQA"90P[9 ?#;%YA
MDJ<'6'R[<\K,;=@@]A7.4_BOA%T'ULZEI$/2V;F4P:><]0K[%.#LTU_E)I:"
M9/S@V.:A6ZX7\R>US"=FLP:QSP#,4F>=B%L'^B$HL9:\<Y:S_4#3:R'WV=>4
M9VMGA2%?#N1HG*^XN%=;_M\QDR^ / M3J;$SS,)U F@=Z+:YXR553-O%/C(H
MS-U^31<*Z=K1\K=#PB#SA-V[G \H^VXO6/7"PY=[UO[3O4WV;59ZQ;[>>TH^
MSRNL=@+TK$0"_K/HD?3L5([>'S))WN+FBEJ$-,IIP/YUD)[]X[<;SXIXQ,A\
M0RAO<D"WFRA(:$X&65%L$HWTM73=NM0=&NG=!G?F($KE[_AU@J*IXK5@M493
M^7/!+5,%0MZ$K)QJ^^U7O815B46]VN[_^JO+9*;VXW;*+S7T7US%)3AH_?,C
MT5#!G"<%F<DL1C8Y12V+/ S6;!4!(!363#?&43,KEC$,T_BPX$/F>>)OXBA,
MM'M_3=;WA )8%57"=A)6LEP9B7)4T-V"(ADOJS!W:<A<8^Z]IIB[/ /F/E1A
M[H,A<XU=,VZ*N0\=8^[:HE_9UHO-[PM^823Q'&?Q4G+FE)70@O&ABTHA5P <
MSOP\7.DMR+;?,WZWFI\MBCP"YG?ALE9[^V;?MO>U>.KEH5*2+7_)9ZUKH1O+
M5O,+JF %&W(%U!$&J'(*Z&+ENN,6,&9$2"A$47PG@53*J^V2?5;M(0!5?MUD
MYC5%]Q/(56,?U7D'0)6[0::!T8(C=7-*GN@&D%S'/003^TXN2%ZZU>"5-'6P
M4PP;V%L^01P(B6:V%QI_]ZWE/\C&//;[W*^[T1&JCFK'NN1<"2U#+3?^3$"H
MI3?O8RZ91A'+G:B-.!$U8%Z[OKN.URHX"T70AHXB7"4PA;J@C ;7UHL6U>,B
M:.G"]:B*=$%WX>12[Q:S\EYMKZU_!W3@66&H.:<R:>2\Q^TJ&N?<C9TC^2#K
MS%IK5ZC&#76#[ I&#N=;K'@S*UC6.@DCU[ZQ(NY25JY<)66QD[M7M,7\ZE6)
MPJDCJ@3Y+*P1 KRX*':2]AIP5V& /I'E7@#+KC$HW+."LMAW\L ./?G+9P6]
MT2GA3T7=^:Z?)!7KK[DW5LZ)L##VX7EE5A2JH],B5>HN)*O8F[HK1=<!5<8^
M.:],FP$TZ#2B';XV=FQ>F3:S\U<<NG:7J[9L%MW'FR=/UH1)NC<]=_ 6.NN5
MU!%I"A(ZJ_)5%60PA=7&?@&M,ILFX* SR29IMHSZ/;O+45PB*]:2FGK8[YY5
M7UB" $'G3;&OZ=MVO(X]MEUQ\LI4<F](V\+>3S?0.W7 =9KSG+S9?NA?Q*+C
M7%B2&>^J]K#W](UPKP<0G7_^OI5BG93\%ONUM>IKH)QRZ$CGWIHJOC#U*_'X
M9=\[E:,%6!W]>;7*9!GA@\[F/'HD5/FNBIQ*2%WTM]0J\PA'IE.7>,M9PR^2
MB_?9S_>)OKGZBNNZI03Y^>NZ-&V+_;G_""L1\L_L?W>_[6W2+_58X^3$&[G?
M6#9]9A0$$G];*(<=D'%B^OJ"-O@AM7N)2F.%@HMIYT)FA=8D W_:>""L[GIS
M.FK,:?8,@3SR2USR'$"7"M],M"H,\?S3#])3_X/DHN+8 Y ,5AGZ(AV:.:8?
M>_&+ZS\LMB'O6^K#8F%1M',O-5J"(V&%I@V=Q+,-*WF@W#<Q"*P("+.N$MK1
MARG@,.T;@OXZ]B*7=S(#Y#5U,./UC( 'Z=X0[G.RAD!=+H;FG#1%5Z9A4X#R
M[5YN;Z2&55(8S<-D#*Y2VX8@AJ);'=@&W BFR#8&ZNEYZM(-F6(/<RB!'/HD
MWWB)7Y45G3VU_GBLQ.KSWI<;0FWQ@3XO*BR)'>^DIT(J>F>\8V57!.1^>NGE
M..$;D37=23\K!Y=$6![A-B0;'I@AW+&S,L=%SNV=Q;(&'1G:>=^<KP9LL'.5
MT4+Y4G@;RM/<A")=.T7 V+*3@*5!X/'S<FIY8T)"7; KO 6T4,H:B8-@U(&)
M0_+:Z,4B7J\MNIVO\F_O*4Y32H_8Y1I.<I;N6N;'*&G;25I47JH7I,UCYS0]
MLP=*A4]J]MD<[3^0]%:Z^#7%C,QY'(61Y?-GU&:Q.N]4 Y_"3ET.>I:R*80K
MK^$WA+J!PQ:L-#IE'8]N>Z,7MH)V0WYPT+3M"3Z%O>%HQ?BD$'_SQI?KEE^(
M^_#( _[8YMAZ(!EFY(:ZMNI0NBT!L*^4M#U*0NCXYLTWU[%QS!<L /;5FK;'
MV6_'?$O[A3)>]\;=_99PCS/[^2#P$\9BRUL2NK[4F'+;PF!?-(*;-0Y-Z*Z*
M4[OT)U8P"B?^3=+E/M$@5$5%-?$Q[-M/K8R<"IB[;T*AD7(-3=1U"H%]9:L>
MDZN?%GQ3Y"ZR21C&Q!G&E&=V35<"7,TP[YW;B:^X)5*E+>R[7C##J R2^8+L
M8[H@\\D#CTC"7XR=TA]V<&"/5(9R8-]!:V>PJD3.Z[9G#6+C@*Z(&\4T>>=]
M]+)QLS<:=P@VMXX#?!K[=EXKJSHP!6^&JD()Q[5SHECH5QJ[8>%OPW2'CQY_
M@WMPFKNRB7/\^)O(15/%"SGRS]O^,(\?3>SOO ]VA*J_V=\9G4":V.IYG^(8
M /)FP6=T"&EBP1TXL&D'D(8L&"\CQ$[A"RO5^,JS[*\7H?W(BH7],(S7VOC%
MCZIL$,^%]GOW^0_P!]IW7W@+8:SV/EMU7QGX ;>3/]&-:_>PP:0^K3N0HZ+J
MR#@%Y+2HH>UNV$7M?:FN^6G:>+H- UM*U=2^,%<H]FTP7% :_5FYZEH>-/$=
MGA4+\LI',U_KAN4(K;ZVTRJ5_MA/VX_6&R_8$I([ M8]LJVH@ATXWF2/*)B#
M%KBWA_(PA^RWE_2,<QQ\FR_I-9(NXIM_2:^!FZ?G^9)>Y3#CL>72SY87DYQ[
MAB<=M2/B\&CB]PT$?0.^B9T5I+:M;EWAX&">NF&*5; 3J7CKAE_'E!">>8R9
M .N;$<G&M0:<"<82='XA>I*=MDCB-V"UZ;R!:;4[";"O,YZQU1Z3^+JL=C>=
M? X\U@S/F='^:*N1 ?LFXWE8+HC(;\)V6QUS-3)@7U<\:]O]%L;=H?OD.L1W
MN,(MF^SQI[%O/9Z7I8IHZVY"*4 ZPI]^+,5@+.>#OU]<]1>C86\PO[X9S1;]
M6G,2OL5;O,5;O,5;O,5;=.EHYU7%6^S.&M7A%L>EO@U^CW5&#[: ADET,\!!
M9&82O)M]!&7Y'"P?@SBT?&?YS.3>+EGQ]!!]XO.<T6RIPB519H<W;03;&ZP.
M**BB43W;+0!'CRZ-"/%/($C; K;7TXP=("#H.^&W0#[30+Z:HT/> OG> OG:
MW&AC!/+A^43/*)!/,LO. G_WZ:%+B<WJA1#R>&5@7>S,1&VP: !'HW3N!. I
M#_9"*$E4UL!.X-,6=0#8W@)I.Q=(^^$MD/8MD+;Q4Z>W0-HFTDF><R!M%7=O
MFEHC&Q?#?AP]!M3]79D$LOY/O>JPV298.5][ZT *)WR/9_<,SN#)F?,TN+-)
MROT-A:\:)?)N_;52O,LMAYR H*RC]7SB=<>HUDE#]\?";S6[_"L,0FTT(_TW
M-*9F<'TF(8<GR;N:7D(+^(_DV:]DSY4T<<&P 1E?=TQL1T ^EVGAE*$D^>70
MBL@^IKBMY3- $.S'1\YD:0VF].Q-.;>/G;#>ZOJA:S=LM(I/=OZ@L0/N!C%-
M'35$4RLZ@P/+>DV@,_SMPQ<(?6)K8+&TL\!_2I<#7.-P&426E__]( BC61#]
MBT396^Z_$R?_*! @AJ39SV._#-*8=;5*W^LUUG3Z'P<T^Q$OI]C M"T'^KL?
MYV>_2D;1#?G4=4'NB9167UXR?FNIN2<^.KMF4W#3A>NC^T"?">M4/C/M[2"F
M'&]Y\NZ?WJN2=[N[=K[OV6E+V$FZ]YH=9-;?(%56PADE]B+=6L_7;!M*7<M3
MK*4DQ9%C!P!D%#J@4FWTH7LOW=CUW9!U@T]!X$!8*93'/F(_@1>AYMTAYDM
MO[*1EP8V49UAR\IC'T.?0(Q0\^X0HPDJ*);#/G ]@8AZSN@COM!%?@1DIY)+
M0DB*B<OB2F$R^SR:+>>WD]&B.UDE7MT"@?L$$[IO&?.4;98 :@CJG.]200I
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
M#/^))V8LO0DO>/ROYN]@;X -+:$9F-&M1S*B9<NOTL!F//#+&\+>1M<S].N
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
M"":-..:!(LWYB1/A?\K)&V&N8VT.@IB!DP "" :\ 2? 'S@+" +F@!(@!WZ
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
M_FP<,AT 5' @;^[\A#DG D#E%0#8V_\3)O(0 %A!N56T_K(?+I*^_'*]Y8&
M2Y$8^J/\RP'_1OEE/2D2NA_L$=3>R<8%27R#@ZD_VE\P +0)!)B._T&)_^.)
M?TZ'!!CL(_P18(8A: EJF8>/&RAN'Q</\GV=A\]?"?$_G/:'LJ/78&'/W 8X
M'*6 7:T< .5L"T#%S@A0GDX!>R _Y':2WA(@69Z5P/B.WI/+G[RD04%Z<XPB
MP(/\:@*@96HN"$?[!^[TD=]&H 88 %:  ^ &^ %AX" @"<@!RH :<!30 4X
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
MKKSK&$:^;HRPB%]'>]W_TC*6HXSTZC$Y51T$=Q+W/;?QNE3>S"77?9_O2&X
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
MA3^%8S*.449%097&P#)15W^4/28]^8.&_CN\<EV)-L)#;E;&4_6@^7E_/?N
MQ+.ZCZ6%<6(J'^?2I JW;=FM._*?M$0_J'<]<$G_-.O/\)(SUJ,XK\C0\$3Z
M'E5"Q ,7_\U/EH<F=0S;X,^F]'XA]^0^;#^)V,1$R,E<?2K;J%+B]6SZR<-/
MCY18C&'1^2]_67Q^]1##=7IY83,\KBLKGX:8QJ==YUCGBVQM]9LQ&0KSUM;N
M<*(Q@L,JJ\0T2Z'?A&'SV-#:!"%?^(%/%\DPRL!3@CMK/CG&PXQ6QO/XS ,@
M81]V-W& Y?=22 ZI)4+^L;O@(_?' JGL DTLH9=U.^D?&;.ZC7?HV*\#ZCK6
MC=DT+Q89)I7T@657/FY[JJJD\L2G@-$IX3JB<T*B2N)J @[ U<*SE'\1 .E1
M?]<Y?FN!&+N\#17YD%R(*?H<7C=.?GQ^@3+*.MYF%5X%=J#[6S/)#V6RW&I(
M?EZE6OB]_6LS(I;B87C2XP$W@Q?WT=';B'F_L+$L[UO09X,K'X%UWO=O25UA
M]TR[E=2U^MB2D^II;*C2I?M6PK!APK\Z0.#_J&A+3CV_"3:"7W]]\9'HNH\+
M#L!S#\M%>,# #BFT=Q@V'X+6^R.V</ I@@RC!CPE1,QF% 5>; N,YZF9?ZFK
MW,,[C^4F*:20U%(+7BJ]-Q[>D2;Z(EW/=!Y,*&J _V>QD6< % 5D;_P.>7Q9
M:NH!X5Y,78$X /TBGH05$HH9\"LM2YE8L38<0%O[W[B;QGL_VB\)RF9^N_N(
M[> '$0$]!_ZW+/N^E9R-EXZL5G__RZ*BB"H!!@ >>>,O%A+9-M<L76TPY7E2
M;N04^O%[C#?IV2R5[N="LY^=RD5<1BKXH#Z, \@@YIW?[V](N>#=\MV17\)G
M<@<SEO+LW?,SDT5;;5LE$+8WX!]X]YMUO&GT[NS2\&Q>CEK%?+-"_8)&/O./
M$_6!ONJL\ ]\99*U+Z?&:^N0C.-XV631^5':%146/XK*CLTF+O(%F7!LYD7Y
M6,K3).0D/M8)%KF*UR1CFW]NCQBY-C]!-+KS4^'"'2^N$O#_HT -LMWS1<R]
M*D1!$Y&PTG>$\UG3_RP\V0]78P%TL6KX2/**$.3-_^_4 S6GC0-T^8"W[,$=
M?W:J'H(#1.WC .-XG!U.*+F"NP)_'+6Y.1(EB+!M$!&HSL _GE,U*0)B'8F8
M"46@?SJ &/_Q(EMUX#2=X;H?T5]^6;_' 3J%=EYC7<FD-MI$?E2<$QJD/#U.
MH6?WY8Y=3D5P #\&Y.C@GW(OE^A3Q:IL;XA;DL\8IM-EVS@X+;!E:CTSB%Z
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
MA$7>P<;Y%3W#^K8:7,4XNJ<#JZ2GIF8<*:IXMU?JI?^)J-_S[;C)L+0D-^=
M1#V_46/ GNK)T7Q**C0<7;8\;_ Y=&E0=V)2V9YSK:#?FCDQ7X;Y0ZY7K*ZU
MN7ZL&F8[3US4E@ :1%C"'Q49,$4&I>9Z2F/QN F_-XR!<C@ 5SSL;.3!7_;#
MHB#87%9;CH-1D^[C"K@\EU :_V<.M:N2A!!((I!235V*14X0)$BM?#,CCB6Z
M&/(%J*8G8W0[-UP_][+BBOPU_>M7R0F4I4(JAO=H =[,UO*LK@.<Z#_$U2B:
MXZJS=++7 6^L<K5VG\'4)985M3K.EX:5STLD-&[R5?N, QN+BR Y70+!JM\+
M:<;@17[6BEWMHN>W?U?5.PV%=CK3-R9TV3PU2&7G?_ZU\S$TB2VB1P,DSY)?
M\JU;XV\))S$N4FFFA7.U,8+/K]''1V<\F)JY[01$JQK[XP!0M1%$5QA0IJL\
MW=)T;0Q+++&=)V%)>"U<]X8;B)TACBRQ-'IS+;MK2/M^L4FGXCO&92RA!KX"
MJ&0J#SVD:LJ0Y#W=-I838@9/(?L!:,:3+KSD-&-EOSB$RWE(R<N3W!"/UCK
M:VR9-]L6WK65E12?R:*3YC,?2/H<EZW,^NXD,I+#A+T&M]7Z9)3B>RP.D,F8
MW>E3T5>E:E9"UX(D.>A^ N3]/C$;/QZBB/B! GF.-P<ZOSDS%%_C8DSNZJW2
M6-E\6)J7P,!Q5Y&3Z:[\-C/)AC315HG",=O"N=R(WME^+XRX15?@3I&DF+<K
M=SL L#77P/S7,11O*BG'33O<X*OQL(,WF5BM1S@ " MK9I#@,7WO28LH@*VZ
M)>$ HH__%)H;;</_04%,+K9XSU[EX0"#'V%_:82 :X)[5WFQ'G)_*42?U%\/
M-CW2EF-#5\4P8C_\K>^A+)E(JRQK.(+B#;7BXW9*<<*X;UT.-![\)"=YX@"\
M@^<S:8TV+A*]\T9Q<_JJNMCI>WL\T[/BO]V,PAY@E@;&=E^9N-R*NIAV'6<E
M]DN=4;5]G_NM/5!RJ^Q=F*EN^6?XPV? 'FST=A!B6D24.Y3H>VW4%8^VVSS.
MK&4YU&AO:@8M[B!E<1[GEU0VBJM:!\0-/*XV9M)BF]04@ILA:ZZW#FA7+O@
M9-'IPTJL/RY--O KL<&A^TNBI[,(T2U>Q"0*!^#&/W5T)@<>VI"#N]RQ>,2T
MV)9_K237C9*S<";ZDJY/<JP/ $ (;DQ_2W2*L(;?(1GMNB,EPU1T!9Q70S",
M$JE_$.DKYK+L@QZL@<HY+58++W=M[)]Z^?>P_1B[K+3%(;]DJW -L;T7JFY<
M;\$C07//6)3PG%_EP+-2H1]^P0R.@Y^6-P_A "VS;(AY#<(6"V>BP49P'( T
M ()Q^7.?N01049IS1@6>[8?&82>>XP"8LUD\A"I&2P1:-"-R__3SZ2BA-W&
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
M6VU07$*^W<;,>HK$EZ=TWJ_5,[A[S!P0C\_ 6 N@G.&@S3H;LMTJ!D]W[I(
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
M1??KXJ0)9T1(  GF#V3C^;\ =R$9<&OJ0&\3Q'T?P]G7JDOAV(I\[&93 .A
MZC":?*F;A[(/8P[\B6N+V);W,+9WMO_<%.MM@XJD[%EVS<H*^/%O"H)K0643
M93M( )X_F]-+4)K3BQP)G2C#>DIW\&UPCQOEF(R(89F6-8VZ1_X'CP>&%E"E
M4J5+,$_AAIR4.->2H(U&1'!,631G<?H-ZP<)?6<?%N CJ) -34ZQB%XXF]6P
MP1&+893]Y9GC5)';6>!I'$)3)HV"9:# >9[I\+K(%:"]1_<4/!*Q#[-;+HAR
M&W&=@+L9?'FC=+8E2]@H>QL[/RH>(A]ZA;Q-)\CD;SP,8:B>;=#.G;>KR*WG
MQ#UY='ZS(\5UC@1N)>@>937WD;4!F4Z0 %]QELA([<&M.!@!VP+Y"^LH%ZYX
M$2# '@S>=.XW"8#T2,2>]+RYQS)(!$(Q)$"D@B$1EAVT]FQ^A/+W_Z66J;4B
M =[HAWS\@L)$L?@75@3>\#YJ)FLUJ5A'\\)BU\ 2J17#:_5U<QIIQ+D"/F9I
MCG.&+"K@6G!A,UMFE'$UXD?.^==7NLX?J[RD.NX5PLSRHSFESF1_8@*N4X*G
M-=EX7NFCT%\M*OYE\T<\4XV^*W4BQN/+4L3+Z0WA%YN\L*,,^C#I@KGNZU5)
MDD;YPS::,OV0R4Q&)J\P5G%Q/1?T:KVVMK:R+@T/JQQ]4LWV%XF]L6'5LW)T
M'",)2M0/^(MNGM4#8%L20=G_!@*''8Y"M]OL\06KE_M1UFB8M_GRC*PT:.0Q
M"\^[+@?V&_4"?M P]DM)N:['%M7T-3LFXEV"HH%7,@KEV$&U$I+H)?.=P4^[
M0":B.A:HM#*?SH@N:YT-MF42[-&+M8R=/@KTUA_G,E8^?<\INMF.GHJ@1J8,
MK_1MWL+AH)8(Y#M"<O(:)F&6;O+0M2&&.;9YNMG9V%+NFK:.+9-2RQVQVII=
MN:NM6EH<S,-Y%U41Q_%D['8&=,!^N#B)GF&]-&:=5\6="W:GJ6UH2DAV\%J\
M/O:E(1FB[V6ZH$("6)&A6M3G0F6FHSKPU&G\&[(!<IM$XM:?9QW(_ RQ#HFY
M=2R-OTD"--."UKQ.AF? !O'<AD3G<A\2X"<,3 )L*DR0Q=,0SP4E 4(Q>?]K
M&OD/#)$A=OPZ3<8.IMB_DS$F):[0#_30U"F+_'-#0"S-LW?FZJ"QK"*UX]1K
MUTMJZYTSB2=UN8,6!3BL+BA%^FE>A-F/Z"?I]Q?"%-5O/=[^^J2[DNDKY:,1
M;X_4C;1-\94M5.-&:B.#P(X?GU)<;J1-+87F:IF_O<\]0][JE@1@9U %67N@
MFL&D(>0_VJ0-\<W"68-LEW00Y3_EOR,L@<&+ D4E3QFMVVKKYH+@[*S*@GOA
M5HXJ89 OBMQV!<[1X_+"'9%CR''TXX0VJ$N8";C5B"CJ%Z?*];6!W<_3IFD
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
M,B_1>K[$-U\4_E;$,J*X<\CTI80A_=-TG^^+#]$_L@)X&]G6A ?KV\ 7N-I
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
M,'VJ58F>8['?Q-9T1J3'8.H[0Y,1XR_/QK_?$%<N$CCEZ 2@]5UR,T3TIY3
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
M&K^1\Y]#CN'WF,TBR&'JR2F 2T;1D$#HBRZ>6RM/I"4'L--(SWQM$B@^B6@
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
M@'*$BNH\5K@*?6P$HOA%Z[GRP(!<![,S^->2K&O$F[:F)T=_F5K3,)R5LC>
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
M0!TLR?P<LK*>S=YO*B?PZ\,K"D:/NYX(O:18?M"#ZD^^&[/'?*E2%[^1\/]
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
MLD$_@.\ G(%_ U!+ 0(4 Q0    ( +=PMUAFZG\1A:(! %%K#0 1
M      "  0    !E<',Q,3,Q-U]S;W1K+FAT;5!+ 0(4 Q0    ( +=PMUA0
M1P!^!0(  &<'   (              "  ;2B 0!E>#(Q+FAT;5!+ 0(4 Q0
M   ( +=PMUAUPYJ^1@(  %L'   *              "  =^D 0!E>#(S+3$N
M:'1M4$L! A0#%     @ MW"W6-+XG"C#!P  WB0   H              ( !
M3:<! &5X,S$M,2YH=&U02P$"% ,4    " "W<+=8A?=83*T'   #)   "@
M            @ $XKP$ 97@S,2TR+FAT;5!+ 0(4 Q0    ( +=PMUCQ];U3
M"@0  +\,   *              "  0VW 0!E>#,R+3$N:'1M4$L! A0#%
M  @ MW"W6.D K?<'!   R@P   H              ( !/[L! &5X,S(M,BYH
M=&U02P$"% ,4    " "W<+=82+ZL?JH,  "&>   $0              @ %N
MOP$ <V]T:RTR,#(T,#(R.2YX<V102P$"% ,4    " "W<+=8/S%?E901  #M
MS0  %0              @ %'S $ <V]T:RTR,#(T,#(R.5]C86PN>&UL4$L!
M A0#%     @ MW"W6!((KU+L&P  6'X! !4              ( !#MX! '-O
M=&LM,C R-# R,CE?9&5F+GAM;%!+ 0(4 Q0    ( +=PMUC'6 80_U0  &;"
M!  5              "  2WZ 0!S;W1K+3(P,C0P,C(Y7VQA8BYX;6Q02P$"
M% ,4    " "W<+=8'EG'B/P\  "BP , %0              @ %?3P( <V]T
M:RTR,#(T,#(R.5]P<F4N>&UL4$L! A0#%     @ MW"W6'K:G<<%)0$ \'T!
M  T              ( !CHP" '-O=&LM;&]G;RYJ<&=02P4&      T #0 3
) P  OK$#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>eps11317_sotk_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/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:sotk="http://sono-tek.com/20240229"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="sotk-20240229.xsd" xlink:type="simple"/>
    <context id="From2023-03-01to2024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-08-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <instant>2023-08-31</instant>
        </period>
    </context>
    <context id="AsOf2024-05-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <instant>2024-05-17</instant>
        </period>
    </context>
    <context id="From2023-12-012024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="From2022-03-012023-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2022-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="AsOf2022-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="AsOf2022-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="AsOf2022-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:EquipmentAndFurnishingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:EquipmentAndFurnishingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_DomesticPatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">sotk:DomesticPatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_ForeignPatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">sotk:ForeignPatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_FluxingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:FluxingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_FluxingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:FluxingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:IntegratedCoatingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:IntegratedCoatingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:MultiAxisCoatingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:MultiAxisCoatingSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_OemSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OemSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_OemSystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OemSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_OtherProductLineMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OtherProductLineMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_OtherProductLineMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:OtherProductLineMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_ProductLineMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:ProductLineMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_ProductLineMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">sotk:ProductLineMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandTwentyThreeStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_TwoThousandThirteenStockIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandThirteenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">sotk:TwoThousandTwentyThreeStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:NonEmployeeDirectorsStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:EmployeesAndDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:NonEmployeeDirectorsStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">sotk:EmployeesAndDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2021-03-012022-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
        </entity>
        <period>
            <startDate>2021-03-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_LaboratoryEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_custom_LaboratoryEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_custom_TradeshowAndDemonstrationEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:TradeshowAndDemonstrationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_custom_TradeshowAndDemonstrationEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">sotk:TradeshowAndDemonstrationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_LetterOfCreditMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_LetterOfCreditMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_srt_AsiaPacificMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_srt_AsiaPacificMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_MiddleEastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:MiddleEastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_MiddleEastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:MiddleEastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_srt_LatinAmericaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_srt_LatinAmericaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">sotk:ForeignCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">sotk:ForeignCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-03-012024-02-29_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-03-012023-02-28_custom_FourCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000806172</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">sotk:FourCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2023-03-01to2024-02-29" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="From2023-03-01to2024-02-29" id="Fact000004">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-03-01to2024-02-29" id="Fact000005">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2023-03-01to2024-02-29" id="Fact000006">0000806172</dei:EntityCentralIndexKey>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-03-012023-02-28"
      id="xdx2ixbrl0236"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-03-01to2024-02-29"
      id="xdx2ixbrl0260"
      unitRef="USD"
      xsi:nil="true"/>
    <sotk:AccountsReceivableReserve
      contextRef="From2023-03-01to2024-02-29"
      id="xdx2ixbrl0291"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2023-03-01to2024-02-29"
      id="xdx2ixbrl0363"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2022-03-012023-02-28"
      id="xdx2ixbrl0364"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0401"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0403"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0411"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="AsOf2023-02-28"
      id="xdx2ixbrl0748"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-03-01to2024-02-29" id="Fact000012">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2023-03-01to2024-02-29" id="Fact000013">true</dei:DocumentAnnualReport>
    <dei:DocumentTransitionReport contextRef="From2023-03-01to2024-02-29" id="Fact000014">false</dei:DocumentTransitionReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-03-01to2024-02-29" id="Fact000015">2024-02-29</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-03-01to2024-02-29" id="Fact000016">--02-28</dei:CurrentFiscalYearEndDate>
    <dei:EntityFileNumber contextRef="From2023-03-01to2024-02-29" id="Fact000017">000-16035</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-03-01to2024-02-29" id="Fact000019">SONO TEK CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-03-01to2024-02-29" id="Fact000020">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-03-01to2024-02-29" id="Fact000021">14-1568099</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-03-01to2024-02-29" id="Fact000022">2012 Route 9W</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-03-01to2024-02-29" id="Fact000023">Milton</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-03-01to2024-02-29" id="Fact000024">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2023-03-01to2024-02-29" id="Fact000025">12547</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-03-01to2024-02-29" id="Fact000026">(845)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-03-01to2024-02-29" id="Fact000027">795-2020</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-03-01to2024-02-29" id="Fact000028">Common Stock $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-03-01to2024-02-29" id="Fact000029">SOTK</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-03-01to2024-02-29" id="Fact000030">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2023-03-01to2024-02-29" id="Fact000031">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2023-03-01to2024-02-29" id="Fact000032">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2023-03-01to2024-02-29" id="Fact000033">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-03-01to2024-02-29" id="Fact000034">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-03-01to2024-02-29" id="Fact000035">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-03-01to2024-02-29" id="Fact000036">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-03-01to2024-02-29" id="Fact000037">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2023-03-01to2024-02-29" id="Fact000039">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="From2023-03-01to2024-02-29" id="Fact000041">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="From2023-03-01to2024-02-29" id="Fact000042">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="AsOf2023-08-31"
      decimals="0"
      id="Fact000044"
      unitRef="USD">72065185</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-05-17"
      decimals="INF"
      id="Fact000046"
      unitRef="Shares">15750880</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000048">None.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2023-12-012024-02-29" id="Fact000049">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2023-12-012024-02-29" id="Fact000050">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2023-12-012024-02-29" id="Fact000051">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2023-12-012024-02-29" id="Fact000052">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:AuditorFirmId contextRef="From2023-03-01to2024-02-29" id="Fact000053">688</dei:AuditorFirmId>
    <dei:AuditorName contextRef="From2023-03-01to2024-02-29" id="Fact000054">Marcum LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2023-03-01to2024-02-29" id="Fact000055">East Hanover, NJ</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000063"
      unitRef="USD">2134786</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000064"
      unitRef="USD">3354601</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000066"
      unitRef="USD">9711351</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000067"
      unitRef="USD">8090000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000072"
      unitRef="USD">12225</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000074"
      unitRef="USD">12225</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000069"
      unitRef="USD">1470711</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000070"
      unitRef="USD">1633866</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000076"
      unitRef="USD">5221980</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000077"
      unitRef="USD">3242909</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000079"
      unitRef="USD">207738</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000080"
      unitRef="USD">254046</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000082"
      unitRef="USD">18746566</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000083"
      unitRef="USD">16575422</us-gaap:AssetsCurrent>
    <us-gaap:Land
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000085"
      unitRef="USD">250000</us-gaap:Land>
    <us-gaap:Land
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000086"
      unitRef="USD">250000</us-gaap:Land>
    <sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000088"
      unitRef="USD">2832156</sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet>
    <sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000089"
      unitRef="USD">2624996</sotk:BuildingsEquipmentFurnishingsAndLeaseholdImprovementsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000091"
      unitRef="USD">47566</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000092"
      unitRef="USD">57202</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000094"
      unitRef="USD">1255977</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000095"
      unitRef="USD">667098</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000097"
      unitRef="USD">23132265</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000098"
      unitRef="USD">20174718</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000106"
      unitRef="USD">1049742</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000107"
      unitRef="USD">810863</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000109"
      unitRef="USD">1739478</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000110"
      unitRef="USD">1427446</us-gaap:AccruedLiabilitiesCurrent>
    <sotk:CustomerDeposits
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000112"
      unitRef="USD">3419706</sotk:CustomerDeposits>
    <sotk:CustomerDeposits
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000113"
      unitRef="USD">2838165</sotk:CustomerDeposits>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000115"
      unitRef="USD">414807</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000116"
      unitRef="USD">381421</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000118"
      unitRef="USD">6623733</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000119"
      unitRef="USD">5457895</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000121"
      unitRef="USD">229534</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000122"
      unitRef="USD">82865</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000124"
      unitRef="USD">6853267</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000125"
      unitRef="USD">5540760</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000136"
      unitRef="USDPShares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000138"
      unitRef="USDPShares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000140"
      unitRef="Shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000142"
      unitRef="Shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000144"
      unitRef="Shares">15750880</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000146"
      unitRef="Shares">15750880</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000148"
      unitRef="Shares">15742073</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000150"
      unitRef="Shares">15742073</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000133"
      unitRef="USD">157509</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000134"
      unitRef="USD">157421</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000152"
      unitRef="USD">9770387</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000153"
      unitRef="USD">9566898</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000155"
      unitRef="USD">6351102</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000156"
      unitRef="USD">4909639</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000158"
      unitRef="USD">16278998</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000159"
      unitRef="USD">14633958</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000161"
      unitRef="USD">23132265</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000162"
      unitRef="USD">20174718</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000164"
      unitRef="USD">19699886</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000165"
      unitRef="USD">15058203</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000167"
      unitRef="USD">9855311</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000168"
      unitRef="USD">7406196</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000170"
      unitRef="USD">9844575</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000171"
      unitRef="USD">7652007</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000176"
      unitRef="USD">2885773</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000177"
      unitRef="USD">2149525</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000179"
      unitRef="USD">3695870</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000180"
      unitRef="USD">3169730</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000182"
      unitRef="USD">2080447</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000183"
      unitRef="USD">1649761</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000185"
      unitRef="USD">8662090</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000186"
      unitRef="USD">6969016</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000188"
      unitRef="USD">1182485</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000189"
      unitRef="USD">682991</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterestAndDividend
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000194"
      unitRef="USD">529735</us-gaap:InvestmentIncomeInterestAndDividend>
    <us-gaap:InvestmentIncomeInterestAndDividend
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000195"
      unitRef="USD">140042</us-gaap:InvestmentIncomeInterestAndDividend>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000197"
      unitRef="USD">32360</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000198"
      unitRef="USD">-33119</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000200"
      unitRef="USD">1744580</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000201"
      unitRef="USD">789914</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000203"
      unitRef="USD">303117</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000204"
      unitRef="USD">154009</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000206"
      unitRef="USD">1441463</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000207"
      unitRef="USD">635905</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000209"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000210"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000212"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000213"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000215"
      unitRef="Shares">15743763</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000216"
      unitRef="Shares">15735451</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000218"
      unitRef="Shares">15774007</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000219"
      unitRef="Shares">15769499</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-02-28_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000226"
      unitRef="Shares">15729175</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000221"
      unitRef="USD">157292</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000222"
      unitRef="USD">9310287</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000223"
      unitRef="USD">4273734</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-02-28"
      decimals="0"
      id="Fact000224"
      unitRef="USD">13741313</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000229"
      unitRef="USD">256740</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000231"
      unitRef="USD">256740</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <sotk:CashlessExerciseOfStockOptionsShares
      contextRef="From2022-03-012023-02-28_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000238"
      unitRef="Shares">12898</sotk:CashlessExerciseOfStockOptionsShares>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-03-012023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000233"
      unitRef="USD">129</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-03-012023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000234"
      unitRef="USD">-129</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:ProfitLoss
      contextRef="From2022-03-012023-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000242"
      unitRef="USD">635905</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000243"
      unitRef="USD">635905</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000250"
      unitRef="Shares">15742073</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000245"
      unitRef="USD">157421</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000246"
      unitRef="USD">9566898</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000247"
      unitRef="USD">4909639</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000248"
      unitRef="USD">14633958</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000253"
      unitRef="USD">203577</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000255"
      unitRef="USD">203577</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <sotk:CashlessExerciseOfStockOptionsShares
      contextRef="From2023-03-012024-02-29_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000262"
      unitRef="Shares">8807</sotk:CashlessExerciseOfStockOptionsShares>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-03-012024-02-29_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000257"
      unitRef="USD">88</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-03-012024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000258"
      unitRef="USD">-88</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:ProfitLoss
      contextRef="From2023-03-012024-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000266"
      unitRef="USD">1441463</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000267"
      unitRef="USD">1441463</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-02-29_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000274"
      unitRef="Shares">15750880</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000269"
      unitRef="USD">157509</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000270"
      unitRef="USD">9770387</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000271"
      unitRef="USD">6351102</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000272"
      unitRef="USD">16278998</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000279"
      unitRef="USD">1441463</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000280"
      unitRef="USD">635905</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000285"
      unitRef="USD">597166</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000286"
      unitRef="USD">510868</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000288"
      unitRef="USD">203577</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000289"
      unitRef="USD">256740</us-gaap:StockOptionPlanExpense>
    <sotk:AccountsReceivableReserve
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000292"
      unitRef="USD">43898</sotk:AccountsReceivableReserve>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000294"
      unitRef="USD">47875</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000295"
      unitRef="USD">4864</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000297"
      unitRef="USD">32360</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000298"
      unitRef="USD">-33119</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000300"
      unitRef="USD">-442210</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000301"
      unitRef="USD">-512337</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000306"
      unitRef="USD">-163155</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000307"
      unitRef="USD">497463</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000309"
      unitRef="USD">2026946</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000310"
      unitRef="USD">874531</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000312"
      unitRef="USD">-46308</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000313"
      unitRef="USD">-69258</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000318"
      unitRef="USD">238879</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000319"
      unitRef="USD">126352</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000321"
      unitRef="USD">312032</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000322"
      unitRef="USD">-376582</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <sotk:IncreaseDecreaseInCustomerDeposit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000324"
      unitRef="USD">581541</sotk:IncreaseDecreaseInCustomerDeposit>
    <sotk:IncreaseDecreaseInCustomerDeposit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000325"
      unitRef="USD">1670197</sotk:IncreaseDecreaseInCustomerDeposit>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000327"
      unitRef="USD">33386</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000328"
      unitRef="USD">322547</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000330"
      unitRef="USD">1163866</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000331"
      unitRef="USD">1325039</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000336"
      unitRef="USD">794690</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000337"
      unitRef="USD">555867</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <sotk:SaleOfMarketableSecurities
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000339"
      unitRef="USD">20237051</sotk:SaleOfMarketableSecurities>
    <sotk:SaleOfMarketableSecurities
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000340"
      unitRef="USD">14329159</sotk:SaleOfMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000342"
      unitRef="USD">21826042</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000343"
      unitRef="USD">16584288</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000345"
      unitRef="USD">-2383681</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000346"
      unitRef="USD">-2810996</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000348"
      unitRef="USD">-1219815</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000349"
      unitRef="USD">-1485957</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000354"
      unitRef="USD">3354601</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-02-28"
      decimals="0"
      id="Fact000355"
      unitRef="USD">4840558</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000357"
      unitRef="USD">2134786</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000358"
      unitRef="USD">3354601</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000366"
      unitRef="USD">712092</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000367"
      unitRef="USD">363590</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000369">&lt;p id="xdx_801_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zInwJH74ZOg3" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 1: &lt;span id="xdx_82D_zyFZLr2OegTb"&gt;BUSINESS DESCRIPTION&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Sono-Tek Corporation (the &#x201c;Company&#x201d;, &#x201c;Sono-Tek&#x201d;,
&#x201c;We&#x201d; or &#x201c;Our&#x201d;) was incorporated in New York on March 21, 1975. We are the world leader in the design and manufacture
of ultrasonic coating systems for applying precise, thin film coatings to add functional properties, protect or strengthen surfaces on
parts and components for the microelectronics/electronics, alternative energy, medical, industrial and emerging research &amp;amp; development/other
markets. We design and manufacture custom-engineered ultrasonic coating systems incorporating our patented technology, in combination
with strong applications engineering knowledge, to assist our customers in achieving their desired coating solutions.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000371">&lt;p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zt4KiOy1b0V8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 2: &lt;span id="xdx_820_zTSiuVN2YIba"&gt;SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--AdvertisingCostsPolicyTextBlock_z0x3thMIHSlk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_865_zDYgE9GnRRdi"&gt;Advertising Expenses&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The Company expenses the
cost of advertising in the period in which the advertising takes place. Advertising expense for fiscal 2024 and fiscal 2023 was $&lt;span id="xdx_90E_eus-gaap--AdvertisingExpense_c20230301__20240229_pp0p0" title="Advertising expense"&gt;371,000&lt;/span&gt;
and $&lt;span id="xdx_909_eus-gaap--AdvertisingExpense_c20220301__20230228_pp0p0" title="Advertising expense"&gt;297,500&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--ReceivablesPolicyTextBlock_z0xFhwWLHMmk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_z3OqexRZVbJc"&gt;Accounts Receivable, net&lt;/span&gt; - &lt;/i&gt;&lt;/b&gt;In the normal course of business,
the Company extends credit to customers. Accounts receivable, less an allowance for credit losses, reflect the net realizable value of
receivables and approximate fair value. The Company records a bad debt expense/allowance based on management&#x2019;s estimate of uncollectible
accounts. All outstanding accounts receivable accounts are reviewed for collectability on an individual basis.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zjzbAQCGjLd2" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zKamVy0xydr5"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Cash and cash equivalents
consist of money market mutual funds, short term commercial paper and short-term certificates of deposit with original maturities of 90
days or less. At February 29, 2024, the Company had $&lt;span id="xdx_908_eus-gaap--CashUninsuredAmount_c20240229_pp0p0" title="Cash in excess of the FDIC insured limit"&gt;1,819,000&lt;/span&gt; of cash in excess of the FDIC insured limit.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--ConsolidationPolicyTextBlock_zGZyxLT0iqpl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_867_zaJEJfk9Nod4"&gt;Consolidation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The accompanying consolidated financial
statements of the Company include the accounts of the Company and its wholly owned subsidiary, Sono-Tek Industrial Park, LLC (&#x201c;SIP&#x201d;)
in conformity with generally accepted accounting principles in the United States (&#x201c;GAAP&#x201d;). SIP operates as a real estate holding
company for the Company&#x2019;s real estate operations. All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_zmEROVYxSWLl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zxRQPlxEtjZ7"&gt;Earnings Per Share&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Basic earnings per share
(&#x201c;EPS&#x201d;) is computed by dividing net income by the weighted-average number of common shares outstanding for the period. Diluted
EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted
into common stock under the treasury stock method.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_840_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zAp0f73Yx3j7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_z9jkXTrC3Ku2"&gt;Equipment, Furnishings and Leasehold Improvements&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; -
Equipment, furnishings and leasehold improvements are stated at cost. Depreciation of equipment and furnishings is computed by use of
the straight-line method based on the estimated useful lives of the assets, which range from three &lt;span id="xdx_90D_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MinimumMember_zdFRgdNUXDyh" style="display: none" title="Estimated useful lives"&gt;3&lt;/span&gt; to five &lt;span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MaximumMember_z2Q7sDLdyi9a" style="display: none" title="Estimated useful lives"&gt;5&lt;/span&gt; years.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--FairValueOfFinancialInstrumentsPolicy_z51WxAQrRr3i" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zgUuZXo87z4b"&gt;Fair Value of Financial Instruments&lt;/span&gt; -&lt;/i&gt;&lt;/b&gt; The Company applies
Accounting Standards Codification (&#x201c;ASC&#x201d;) 820,&#160;&lt;i&gt;Fair Value Measurement&#160;&lt;/i&gt;(&#x201c;ASC 820&#x201d;), which establishes
a framework for measuring fair value and clarifies the definition of fair value within that framework. ASC 820 defines fair value as an
exit price, which is the price that would be received for an asset or paid to transfer a liability in the Company&#x2019;s principal or
most advantageous market in an orderly transaction between market participants on the measurement date. The fair value hierarchy established
in ASC 820 generally requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring
fair value. Observable inputs reflect the assumptions that market participants would use in pricing the asset or liability and are developed
based on market data obtained from sources independent of the reporting entity. Unobservable inputs reflect the entity&#x2019;s own assumptions
based on market data and the entity&#x2019;s judgments about the assumptions that market participants would use in pricing the asset or
liability and are to be developed based on the best information available in the circumstances.&lt;/p&gt;




&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The carrying amounts of financial instruments reported in the accompanying
consolidated financial statements for current assets and current liabilities approximate the fair value because of the immediate or short-term
maturities of the financial instruments.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The valuation hierarchy is composed of three levels. The classification
within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement. The levels within
the valuation hierarchy are described below:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 1 &#x2014; Assets and liabilities with unadjusted, quoted prices
listed on active market exchanges. Inputs to the fair value measurement are observable inputs, such as quoted prices in active markets
for identical assets or liabilities.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 2 &#x2014; Inputs to the fair value measurement are determined
using prices for recently traded assets and liabilities with similar underlying terms, as well as direct or indirect observable inputs,
such as interest rates and yield curves that are observable at commonly quoted intervals.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 3 &#x2014; Inputs to the fair value measurement are unobservable
inputs, such as estimates, assumptions, and valuation techniques when little or no market data exists for the assets or liabilities.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&lt;span id="xdx_8B5_zciYqDdtlR97" style="display: none"&gt;Schedule of significant accounting policies - fair values of financial assets of the company&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 1&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 2&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 3&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 0%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 39%; padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 29, 2024&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0401"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0403"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 28, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;7,361,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;729,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0411"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;8,090,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_zF0Yvq2oFsv7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;Marketable Securities include certificates
of deposit and US Treasury securities, totaling $&lt;span id="xdx_90F_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable securities"&gt;9,711,351&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable securities"&gt;8,090,000&lt;/span&gt; that are considered to be highly liquid and easily tradeable
as of February 29, 2024 and February 28, 2023, respectively. US Treasury securities are valued using inputs observable in active markets
for identical securities and are therefore classified as Level&#160;1 and certificates of deposit are classified as Level 2 within the
Company&#x2019;s fair value hierarchy. The Company&#x2019;s marketable securities are considered to be trading securities as defined under
ASC 320 &#x201c;Investments &#x2013; Debt and Equity Securities.&#x201d;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_zEskRxnGFOzb" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zd8aot8i1jCh"&gt;Income Taxes&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The Company accounts for income taxes
under the asset and liability method. Under this method, deferred income taxes are recognized for the tax consequences of "temporary
differences" by applying enacted statutory tax rates applicable to future years to differences between the financial statement carrying
amounts and the tax basis of existing assets and liabilities. If it is more likely than not that some portion or all of a deferred tax
asset will not be realized, a valuation allowance is recognized. The Company uses a recognition threshold and a measurement attribute
for financial statement recognition and measurement of tax positions taken or expected to be taken in a return. For those benefits to
be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of February 29,
2024 and February 28, 2023, there were &lt;span id="xdx_903_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20240229_zpzypoYbG6v3" title="Uncertain tax positions"&gt;&lt;span id="xdx_90C_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20230228_zVEfh0TGTX34" title="Uncertain tax positions"&gt;no&lt;/span&gt;&lt;/span&gt; uncertain tax positions.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--IntangibleAssetsFiniteLivedPolicy_zw1O0WcoMlt1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_86C_zbGPY5mw8val"&gt;&lt;b&gt;&lt;i&gt;Intangible
Assets&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;i&gt; - &lt;/i&gt;Include costs of patent applications which are deferred and charged to operations over seventeen &lt;span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--DomesticPatentsMember_zP5TKsFTRaG1"&gt;17
&lt;/span&gt;years for domestic patents and twelve &lt;span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ForeignPatentsMember_zPC6GvkRuzT5"&gt;12
&lt;/span&gt;years for foreign patents, which is considered the useful life. Amortization expense for
the years ended February 29, 2024 and February&#160;28, 2023 was $&lt;span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_c20230301__20240229_zLwtKqFN3ei8" title="Amortization expense"&gt;16,434&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_c20220301__20230228_zZ0O8GpEw7sf" title="Amortization expense"&gt;18,814&lt;/span&gt;, respectively. The accumulated amortization
of patents is $&lt;span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20240229_pp0p0"&gt;212,861&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20230228_pp0p0"&gt;202,681
&lt;/span&gt;at February 29, 2024 and February 28, 2023, respectively. Annual amortization expense of such intangible assets is expected to
be approximately $&lt;span id="xdx_909_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c20240229_pp0p0"&gt;16,000&lt;/span&gt; per
year for the next five years.&lt;/p&gt;




&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_z3KOsofcF4Yf" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_868_zfaNS03uxihh"&gt;Inventories&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Inventories are stated at the lower
of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method for raw materials, subassemblies and work-in-progress
and the specific identification method for finished goods. Management compares the cost of inventory with the net realizable value and,
if applicable, an allowance is made for writing down the inventory to its net realizable value, if lower than cost. On an ongoing basis,
inventory is reviewed for potential write-down for estimated obsolescence or unmarketable inventory based upon forecasts for future demand
and market conditions.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_846_ecustom--LandAndBuildingsPolicyTextBlock_zmpaxMqkvFf6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_zPxT3S0TSIV6"&gt;Land and Buildings&lt;/span&gt; - &lt;/i&gt;&lt;/b&gt;Land and buildings are stated at
cost. Buildings are being depreciated by use of the straight-line method based on an estimated useful life of &lt;span id="xdx_90F_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229_zVagnxydOBE3" style="display: none" title="Estimated useful lives"&gt;40&lt;/span&gt; forty years.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;At February 29, 2024 and February 28, 2023, the Company had Land,
stated at cost of $&lt;span id="xdx_903_eus-gaap--Land_c20240229_pp0p0" title="Land"&gt;250,000&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zxSCJhx7l2L4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zY8Uvs0TsEc6"&gt;Long-Lived Assets&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The Company periodically
evaluates the carrying value of long-lived assets, including intangible assets, when events and circumstances warrant such a review. The
carrying value of a long-lived asset is considered impaired when the anticipated undiscounted cash flow from such asset is separately
identifiable and is less than its carrying value. In that event, a loss is recognized based on the amount by which the carrying value
exceeds the fair market value of the long-lived asset. Fair market value is determined primarily using the anticipated cash flows discounted
at a rate commensurate with the risk involved. &lt;span id="xdx_90E_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20230301__20240229_zVroh8d3w8q9" title="Impairment losses"&gt;&lt;span id="xdx_90B_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20220301__20230228_zf2TZdFINJbi" title="Impairment losses"&gt;No&lt;/span&gt;&lt;/span&gt; impairment losses were identified or recorded for the years ended February 29, 2024
and February 28, 2023 on the Company&#x2019;s long-lived assets.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--UseOfEstimates_z4xezaCORxxc" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zEK5rdj0YbNa"&gt;Management Estimates&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The preparation of the
consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported
amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements
and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zdmQ7pdJK184" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zKz25FibKKj4"&gt;New Accounting Pronouncements&lt;/span&gt; &lt;/i&gt;&lt;/b&gt;&#x2013; In June 2016,
the FASB issued ASU 2016-13 - Financial Instruments-Credit Losses-Measurement of Credit Losses on Financial Instruments. Codification
Improvements to Topic 326, Financial Instruments &#x2013; Credit Losses, have been released in November 2018 (2018-19), November 2019 (2019-10
and 2019-11) and a January 2020 Update (2020-02) that provided additional guidance on this Topic. This guidance replaces the current incurred
loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable
and supportable information to inform credit loss estimates. For SEC filers meeting certain criteria, the amendments in this ASU are effective
for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. For SEC filers that meet the criteria
of a smaller reporting company (including this Company) and for non-SEC registrant public companies and other organizations, the amendments
in this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2022. Early adoption
will be permitted for all organizations for fiscal years, and interim periods within those fiscal years, beginning after December 15,
2019. The Company has adopted ASU 2016-13 as updated and the adoption of this guidance did not have a material impact on the Company&#x2019;s
consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/i&gt;&lt;/b&gt; -
In December 2023, the FASB issued ASU 2023-09, &lt;i&gt;Improvements to Income Tax Disclosures. &lt;/i&gt;This ASU requires greater disaggregation
of information about a reporting entity&#x2019;s effective tax rate reconciliation as well as information on income taxes paid. This ASU
applies to all entities subject to income taxes and is intended to help investors better understand an entity&#x2019;s exposure to potential
changes in jurisdictional tax legislation and assess income tax information that affects cash flow forecasts and capital allocation decisions.
This ASU is effective for annual periods beginning after December 15, 2024, with early adoption permitted. This ASU should be applied
on a prospective basis although retrospective application is permitted. The Company is currently evaluating the impact the adoption of
this ASU will have on its consolidated financial statements and related disclosures.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;In November 2023, the FASB issued ASU 2023-07, &lt;i&gt;Segment Reporting&lt;/i&gt; (Topic 280): Improvements
to Reportable Segment Disclosures. The amendments in this ASU require disclosures, on an annual and interim basis, of significant segment
expenses that are regularly provided to the chief operating officer decision maker (&#x201c;CODM&#x201d;), as well as the aggregate amount
of other segment items included in the reported measure of segment profit or loss. The ASU requires that a public entity disclose the
title and position of the CODM and an explanation of how the CODM uses the reported measure(s) of segment profit or loss in assessing
segment performance and deciding how to allocate resources. Public entities will be required to provide all annual disclosures currently
required by Topic 280 in interim periods, and entities with a single reportable segment are required to provide all the disclosures required
by the amendments in this ASU and existing segment disclosures in Topic 280. This ASU is effective for fiscal years beginning after December
15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments in
this ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company is currently evaluating
the impact of this standard on its consolidated financial statements and related disclosures, and does not expect the standard will have
a material impact on the Company&#x2019;s consolidated financial statements and related disclosures.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--StandardProductWarrantyPolicy_zKNRssTEJRG1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_869_zxjnWZTgRpK8"&gt;Product Warranty&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - Expected future product warranty
expense is recorded when revenue is recognized for product sales.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ResearchAndDevelopmentExpensePolicy_zWZK5Ylxz0H7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_868_z9CIZm8nFEok"&gt;Research and Product Development Expenses&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Research
and product development expenses represent engineering and other expenditures incurred for developing new products, for refining the Company's
existing products and for developing systems to meet unique customer specifications for potential orders or for new industry applications
and are expensed as incurred.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;During fiscal 2024 and fiscal 2023, the Company spent approximately
$&lt;span id="xdx_902_eus-gaap--OtherResearchAndDevelopmentExpense_c20230301__20240229_pp0p0" title="Research and development expenses"&gt;2,886,000&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--OtherResearchAndDevelopmentExpense_c20220301__20230228_pp0p0" title="Research and development expenses"&gt;2,149,000&lt;/span&gt;, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--RevenueRecognitionPolicyTextBlock_zAYyIuXGhImi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_867_z4NbTUE1E4n6"&gt;Revenue Recognition&lt;/span&gt; -&lt;/i&gt;&lt;/b&gt; The Company recognizes revenue
in accordance with ASC 606, Revenue from Contracts with Customers, the core principle of which is that an entity should recognize revenue
to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the entity expects
to be entitled to receive in exchange for those goods or services. To determine revenue recognition for arrangements that the Company
determines are within the scope of ASC 606, the Company performs the following five steps:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 11pt"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px; font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px; font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Identification of the contract, or contracts, with a customer&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Identification of the performance obligations in the contract&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Determination of the transaction price&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Recognition of revenue when, or as, performance obligations are satisfied&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--ShareBasedCompensationForfeituresPolicyTextBlock_zqIYinBPLSvh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zLlzKmYMJuKa"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The Company currently uses
a Black-Scholes option pricing model to calculate the fair value of its stock options. The fair value of each option is estimated on the
date of grant based on the Black-Scholes options-pricing model utilizing certain assumptions for a risk free interest rate; volatility;
and expected lives of the awards. The Company primarily uses historical data to determine the assumptions to be used in the Black-Scholes
model. The assumptions used in calculating the fair value of share-based payment awards represent management&#x2019;s best estimates, but
these estimates involve inherent uncertainties and the application of management judgment.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;ASC 718 requires the recognition of the fair value of stock compensation
expense to be recognized over the vesting term of such award. The Company accounts for forfeitures as they occur.&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000373">&lt;p id="xdx_843_eus-gaap--AdvertisingCostsPolicyTextBlock_z0x3thMIHSlk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_865_zDYgE9GnRRdi"&gt;Advertising Expenses&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The Company expenses the
cost of advertising in the period in which the advertising takes place. Advertising expense for fiscal 2024 and fiscal 2023 was $&lt;span id="xdx_90E_eus-gaap--AdvertisingExpense_c20230301__20240229_pp0p0" title="Advertising expense"&gt;371,000&lt;/span&gt;
and $&lt;span id="xdx_909_eus-gaap--AdvertisingExpense_c20220301__20230228_pp0p0" title="Advertising expense"&gt;297,500&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000375"
      unitRef="USD">371000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000377"
      unitRef="USD">297500</us-gaap:AdvertisingExpense>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000379">&lt;p id="xdx_848_eus-gaap--ReceivablesPolicyTextBlock_z0xFhwWLHMmk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_z3OqexRZVbJc"&gt;Accounts Receivable, net&lt;/span&gt; - &lt;/i&gt;&lt;/b&gt;In the normal course of business,
the Company extends credit to customers. Accounts receivable, less an allowance for credit losses, reflect the net realizable value of
receivables and approximate fair value. The Company records a bad debt expense/allowance based on management&#x2019;s estimate of uncollectible
accounts. All outstanding accounts receivable accounts are reviewed for collectability on an individual basis.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000381">&lt;p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zjzbAQCGjLd2" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zKamVy0xydr5"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Cash and cash equivalents
consist of money market mutual funds, short term commercial paper and short-term certificates of deposit with original maturities of 90
days or less. At February 29, 2024, the Company had $&lt;span id="xdx_908_eus-gaap--CashUninsuredAmount_c20240229_pp0p0" title="Cash in excess of the FDIC insured limit"&gt;1,819,000&lt;/span&gt; of cash in excess of the FDIC insured limit.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashUninsuredAmount
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000383"
      unitRef="USD">1819000</us-gaap:CashUninsuredAmount>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000385">&lt;p id="xdx_84C_eus-gaap--ConsolidationPolicyTextBlock_zGZyxLT0iqpl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_867_zaJEJfk9Nod4"&gt;Consolidation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The accompanying consolidated financial
statements of the Company include the accounts of the Company and its wholly owned subsidiary, Sono-Tek Industrial Park, LLC (&#x201c;SIP&#x201d;)
in conformity with generally accepted accounting principles in the United States (&#x201c;GAAP&#x201d;). SIP operates as a real estate holding
company for the Company&#x2019;s real estate operations. All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000387">&lt;p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_zmEROVYxSWLl" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zxRQPlxEtjZ7"&gt;Earnings Per Share&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Basic earnings per share
(&#x201c;EPS&#x201d;) is computed by dividing net income by the weighted-average number of common shares outstanding for the period. Diluted
EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted
into common stock under the treasury stock method.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000389">&lt;p id="xdx_840_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zAp0f73Yx3j7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_z9jkXTrC3Ku2"&gt;Equipment, Furnishings and Leasehold Improvements&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; -
Equipment, furnishings and leasehold improvements are stated at cost. Depreciation of equipment and furnishings is computed by use of
the straight-line method based on the estimated useful lives of the assets, which range from three &lt;span id="xdx_90D_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MinimumMember_zdFRgdNUXDyh" style="display: none" title="Estimated useful lives"&gt;3&lt;/span&gt; to five &lt;span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--EquipmentAndFurnishingsMember__srt--RangeAxis__srt--MaximumMember_z2Q7sDLdyi9a" style="display: none" title="Estimated useful lives"&gt;5&lt;/span&gt; years.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MinimumMember"
      id="Fact000391">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2024-02-29_custom_EquipmentAndFurnishingsMember_srt_MaximumMember"
      id="Fact000393">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="From2023-03-01to2024-02-29" id="Fact000395">&lt;p id="xdx_843_eus-gaap--FairValueOfFinancialInstrumentsPolicy_z51WxAQrRr3i" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zgUuZXo87z4b"&gt;Fair Value of Financial Instruments&lt;/span&gt; -&lt;/i&gt;&lt;/b&gt; The Company applies
Accounting Standards Codification (&#x201c;ASC&#x201d;) 820,&#160;&lt;i&gt;Fair Value Measurement&#160;&lt;/i&gt;(&#x201c;ASC 820&#x201d;), which establishes
a framework for measuring fair value and clarifies the definition of fair value within that framework. ASC 820 defines fair value as an
exit price, which is the price that would be received for an asset or paid to transfer a liability in the Company&#x2019;s principal or
most advantageous market in an orderly transaction between market participants on the measurement date. The fair value hierarchy established
in ASC 820 generally requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring
fair value. Observable inputs reflect the assumptions that market participants would use in pricing the asset or liability and are developed
based on market data obtained from sources independent of the reporting entity. Unobservable inputs reflect the entity&#x2019;s own assumptions
based on market data and the entity&#x2019;s judgments about the assumptions that market participants would use in pricing the asset or
liability and are to be developed based on the best information available in the circumstances.&lt;/p&gt;




&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The carrying amounts of financial instruments reported in the accompanying
consolidated financial statements for current assets and current liabilities approximate the fair value because of the immediate or short-term
maturities of the financial instruments.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The valuation hierarchy is composed of three levels. The classification
within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement. The levels within
the valuation hierarchy are described below:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 1 &#x2014; Assets and liabilities with unadjusted, quoted prices
listed on active market exchanges. Inputs to the fair value measurement are observable inputs, such as quoted prices in active markets
for identical assets or liabilities.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 2 &#x2014; Inputs to the fair value measurement are determined
using prices for recently traded assets and liabilities with similar underlying terms, as well as direct or indirect observable inputs,
such as interest rates and yield curves that are observable at commonly quoted intervals.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Level 3 &#x2014; Inputs to the fair value measurement are unobservable
inputs, such as estimates, assumptions, and valuation techniques when little or no market data exists for the assets or liabilities.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&lt;span id="xdx_8B5_zciYqDdtlR97" style="display: none"&gt;Schedule of significant accounting policies - fair values of financial assets of the company&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 1&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 2&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 3&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 0%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 39%; padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 29, 2024&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0401"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0403"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 28, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;7,361,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;729,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0411"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;8,090,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_zF0Yvq2oFsv7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;Marketable Securities include certificates
of deposit and US Treasury securities, totaling $&lt;span id="xdx_90F_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" title="Marketable securities"&gt;9,711,351&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" title="Marketable securities"&gt;8,090,000&lt;/span&gt; that are considered to be highly liquid and easily tradeable
as of February 29, 2024 and February 28, 2023, respectively. US Treasury securities are valued using inputs observable in active markets
for identical securities and are therefore classified as Level&#160;1 and certificates of deposit are classified as Level 2 within the
Company&#x2019;s fair value hierarchy. The Company&#x2019;s marketable securities are considered to be trading securities as defined under
ASC 320 &#x201c;Investments &#x2013; Debt and Equity Securities.&#x201d;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&#160;&lt;/p&gt;

</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000397">&lt;p id="xdx_89E_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zQNIOQcYrUr4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;The fair values of financial assets of the
Company were determined using the following categories at February 29, 2024 and February 28, 2023, respectively:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify; background-color: white"&gt;&lt;span id="xdx_8B5_zciYqDdtlR97" style="display: none"&gt;Schedule of significant accounting policies - fair values of financial assets of the company&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 1&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 2&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Level 3&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 0%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 39%; padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 29, 2024&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0401"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MarketableSecuritiesCurrent_c20240229__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0403"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--MarketableSecuritiesCurrent_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Marketable Securities"&gt;9,711,351&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Marketable Securities &#x2013; February 28, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;7,361,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;729,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesCurrent_c20230228__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0411"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecuritiesCurrent_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;8,090,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="Fact000399"
      unitRef="USD">9711351</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000405"
      unitRef="USD">9711351</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="Fact000407"
      unitRef="USD">7361000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="Fact000409"
      unitRef="USD">729000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000413"
      unitRef="USD">8090000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000415"
      unitRef="USD">9711351</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000417"
      unitRef="USD">8090000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000419">&lt;p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_zEskRxnGFOzb" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zd8aot8i1jCh"&gt;Income Taxes&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The Company accounts for income taxes
under the asset and liability method. Under this method, deferred income taxes are recognized for the tax consequences of "temporary
differences" by applying enacted statutory tax rates applicable to future years to differences between the financial statement carrying
amounts and the tax basis of existing assets and liabilities. If it is more likely than not that some portion or all of a deferred tax
asset will not be realized, a valuation allowance is recognized. The Company uses a recognition threshold and a measurement attribute
for financial statement recognition and measurement of tax positions taken or expected to be taken in a return. For those benefits to
be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. As of February 29,
2024 and February 28, 2023, there were &lt;span id="xdx_903_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20240229_zpzypoYbG6v3" title="Uncertain tax positions"&gt;&lt;span id="xdx_90C_eus-gaap--LiabilityForUncertainTaxPositionsCurrent_iI_pp0p0_do_c20230228_zVEfh0TGTX34" title="Uncertain tax positions"&gt;no&lt;/span&gt;&lt;/span&gt; uncertain tax positions.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000421"
      unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000423"
      unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy contextRef="From2023-03-01to2024-02-29" id="Fact000425">&lt;p id="xdx_848_eus-gaap--IntangibleAssetsFiniteLivedPolicy_zw1O0WcoMlt1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_86C_zbGPY5mw8val"&gt;&lt;b&gt;&lt;i&gt;Intangible
Assets&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;i&gt; - &lt;/i&gt;Include costs of patent applications which are deferred and charged to operations over seventeen &lt;span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--DomesticPatentsMember_zP5TKsFTRaG1"&gt;17
&lt;/span&gt;years for domestic patents and twelve &lt;span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20240229__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ForeignPatentsMember_zPC6GvkRuzT5"&gt;12
&lt;/span&gt;years for foreign patents, which is considered the useful life. Amortization expense for
the years ended February 29, 2024 and February&#160;28, 2023 was $&lt;span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_c20230301__20240229_zLwtKqFN3ei8" title="Amortization expense"&gt;16,434&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_c20220301__20230228_zZ0O8GpEw7sf" title="Amortization expense"&gt;18,814&lt;/span&gt;, respectively. The accumulated amortization
of patents is $&lt;span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20240229_pp0p0"&gt;212,861&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_c20230228_pp0p0"&gt;202,681
&lt;/span&gt;at February 29, 2024 and February 28, 2023, respectively. Annual amortization expense of such intangible assets is expected to
be approximately $&lt;span id="xdx_909_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c20240229_pp0p0"&gt;16,000&lt;/span&gt; per
year for the next five years.&lt;/p&gt;




&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2024-02-29_custom_DomesticPatentsMember"
      id="Fact000426">P17Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2024-02-29_custom_ForeignPatentsMember"
      id="Fact000427">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000429"
      unitRef="USD">16434</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000431"
      unitRef="USD">18814</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000432"
      unitRef="USD">212861</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000433"
      unitRef="USD">202681</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000434"
      unitRef="USD">16000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000436">&lt;p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_z3KOsofcF4Yf" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_868_zfaNS03uxihh"&gt;Inventories&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Inventories are stated at the lower
of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method for raw materials, subassemblies and work-in-progress
and the specific identification method for finished goods. Management compares the cost of inventory with the net realizable value and,
if applicable, an allowance is made for writing down the inventory to its net realizable value, if lower than cost. On an ongoing basis,
inventory is reviewed for potential write-down for estimated obsolescence or unmarketable inventory based upon forecasts for future demand
and market conditions.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:InventoryPolicyTextBlock>
    <sotk:LandAndBuildingsPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000438">&lt;p id="xdx_846_ecustom--LandAndBuildingsPolicyTextBlock_zmpaxMqkvFf6" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_zPxT3S0TSIV6"&gt;Land and Buildings&lt;/span&gt; - &lt;/i&gt;&lt;/b&gt;Land and buildings are stated at
cost. Buildings are being depreciated by use of the straight-line method based on an estimated useful life of &lt;span id="xdx_90F_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20240229_zVagnxydOBE3" style="display: none" title="Estimated useful lives"&gt;40&lt;/span&gt; forty years.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;At February 29, 2024 and February 28, 2023, the Company had Land,
stated at cost of $&lt;span id="xdx_903_eus-gaap--Land_c20240229_pp0p0" title="Land"&gt;250,000&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</sotk:LandAndBuildingsPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="AsOf2024-02-29" id="Fact000440">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:Land
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000442"
      unitRef="USD">250000</us-gaap:Land>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000444">&lt;p id="xdx_846_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zxSCJhx7l2L4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zY8Uvs0TsEc6"&gt;Long-Lived Assets&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The Company periodically
evaluates the carrying value of long-lived assets, including intangible assets, when events and circumstances warrant such a review. The
carrying value of a long-lived asset is considered impaired when the anticipated undiscounted cash flow from such asset is separately
identifiable and is less than its carrying value. In that event, a loss is recognized based on the amount by which the carrying value
exceeds the fair market value of the long-lived asset. Fair market value is determined primarily using the anticipated cash flows discounted
at a rate commensurate with the risk involved. &lt;span id="xdx_90E_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20230301__20240229_zVroh8d3w8q9" title="Impairment losses"&gt;&lt;span id="xdx_90B_eus-gaap--ImpairmentOfLongLivedAssetsHeldForUse_pp0p0_do_c20220301__20230228_zf2TZdFINJbi" title="Impairment losses"&gt;No&lt;/span&gt;&lt;/span&gt; impairment losses were identified or recorded for the years ended February 29, 2024
and February 28, 2023 on the Company&#x2019;s long-lived assets.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000446"
      unitRef="USD">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000448"
      unitRef="USD">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:UseOfEstimates contextRef="From2023-03-01to2024-02-29" id="Fact000450">&lt;p id="xdx_848_eus-gaap--UseOfEstimates_z4xezaCORxxc" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zEK5rdj0YbNa"&gt;Management Estimates&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;The preparation of the
consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported
amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements
and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000452">&lt;p id="xdx_84B_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zdmQ7pdJK184" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zKz25FibKKj4"&gt;New Accounting Pronouncements&lt;/span&gt; &lt;/i&gt;&lt;/b&gt;&#x2013; In June 2016,
the FASB issued ASU 2016-13 - Financial Instruments-Credit Losses-Measurement of Credit Losses on Financial Instruments. Codification
Improvements to Topic 326, Financial Instruments &#x2013; Credit Losses, have been released in November 2018 (2018-19), November 2019 (2019-10
and 2019-11) and a January 2020 Update (2020-02) that provided additional guidance on this Topic. This guidance replaces the current incurred
loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable
and supportable information to inform credit loss estimates. For SEC filers meeting certain criteria, the amendments in this ASU are effective
for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. For SEC filers that meet the criteria
of a smaller reporting company (including this Company) and for non-SEC registrant public companies and other organizations, the amendments
in this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2022. Early adoption
will be permitted for all organizations for fiscal years, and interim periods within those fiscal years, beginning after December 15,
2019. The Company has adopted ASU 2016-13 as updated and the adoption of this guidance did not have a material impact on the Company&#x2019;s
consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/i&gt;&lt;/b&gt; -
In December 2023, the FASB issued ASU 2023-09, &lt;i&gt;Improvements to Income Tax Disclosures. &lt;/i&gt;This ASU requires greater disaggregation
of information about a reporting entity&#x2019;s effective tax rate reconciliation as well as information on income taxes paid. This ASU
applies to all entities subject to income taxes and is intended to help investors better understand an entity&#x2019;s exposure to potential
changes in jurisdictional tax legislation and assess income tax information that affects cash flow forecasts and capital allocation decisions.
This ASU is effective for annual periods beginning after December 15, 2024, with early adoption permitted. This ASU should be applied
on a prospective basis although retrospective application is permitted. The Company is currently evaluating the impact the adoption of
this ASU will have on its consolidated financial statements and related disclosures.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;In November 2023, the FASB issued ASU 2023-07, &lt;i&gt;Segment Reporting&lt;/i&gt; (Topic 280): Improvements
to Reportable Segment Disclosures. The amendments in this ASU require disclosures, on an annual and interim basis, of significant segment
expenses that are regularly provided to the chief operating officer decision maker (&#x201c;CODM&#x201d;), as well as the aggregate amount
of other segment items included in the reported measure of segment profit or loss. The ASU requires that a public entity disclose the
title and position of the CODM and an explanation of how the CODM uses the reported measure(s) of segment profit or loss in assessing
segment performance and deciding how to allocate resources. Public entities will be required to provide all annual disclosures currently
required by Topic 280 in interim periods, and entities with a single reportable segment are required to provide all the disclosures required
by the amendments in this ASU and existing segment disclosures in Topic 280. This ASU is effective for fiscal years beginning after December
15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments in
this ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company is currently evaluating
the impact of this standard on its consolidated financial statements and related disclosures, and does not expect the standard will have
a material impact on the Company&#x2019;s consolidated financial statements and related disclosures.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:StandardProductWarrantyPolicy contextRef="From2023-03-01to2024-02-29" id="Fact000455">&lt;p id="xdx_844_eus-gaap--StandardProductWarrantyPolicy_zKNRssTEJRG1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_869_zxjnWZTgRpK8"&gt;Product Warranty&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - Expected future product warranty
expense is recorded when revenue is recognized for product sales.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:StandardProductWarrantyPolicy>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="From2023-03-01to2024-02-29" id="Fact000457">&lt;p id="xdx_843_eus-gaap--ResearchAndDevelopmentExpensePolicy_zWZK5Ylxz0H7" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_868_z9CIZm8nFEok"&gt;Research and Product Development Expenses&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; - &lt;/i&gt;Research
and product development expenses represent engineering and other expenditures incurred for developing new products, for refining the Company's
existing products and for developing systems to meet unique customer specifications for potential orders or for new industry applications
and are expensed as incurred.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;During fiscal 2024 and fiscal 2023, the Company spent approximately
$&lt;span id="xdx_902_eus-gaap--OtherResearchAndDevelopmentExpense_c20230301__20240229_pp0p0" title="Research and development expenses"&gt;2,886,000&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--OtherResearchAndDevelopmentExpense_c20220301__20230228_pp0p0" title="Research and development expenses"&gt;2,149,000&lt;/span&gt;, respectively, on research and development activities related to new products and services and the ongoing improvement
of existing products and services.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:OtherResearchAndDevelopmentExpense
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000459"
      unitRef="USD">2886000</us-gaap:OtherResearchAndDevelopmentExpense>
    <us-gaap:OtherResearchAndDevelopmentExpense
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000461"
      unitRef="USD">2149000</us-gaap:OtherResearchAndDevelopmentExpense>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000463">&lt;p id="xdx_844_eus-gaap--RevenueRecognitionPolicyTextBlock_zAYyIuXGhImi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_867_z4NbTUE1E4n6"&gt;Revenue Recognition&lt;/span&gt; -&lt;/i&gt;&lt;/b&gt; The Company recognizes revenue
in accordance with ASC 606, Revenue from Contracts with Customers, the core principle of which is that an entity should recognize revenue
to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the entity expects
to be entitled to receive in exchange for those goods or services. To determine revenue recognition for arrangements that the Company
determines are within the scope of ASC 606, the Company performs the following five steps:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 11pt"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px; font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px; font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Identification of the contract, or contracts, with a customer&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Identification of the performance obligations in the contract&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Determination of the transaction price&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;&lt;span style="font-family: Symbol"&gt;&#xb7;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-family: Cambria,serif"&gt;Recognition of revenue when, or as, performance obligations are satisfied&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:ShareBasedCompensationForfeituresPolicyTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000465">&lt;p id="xdx_84C_eus-gaap--ShareBasedCompensationForfeituresPolicyTextBlock_zqIYinBPLSvh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zLlzKmYMJuKa"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; - The Company currently uses
a Black-Scholes option pricing model to calculate the fair value of its stock options. The fair value of each option is estimated on the
date of grant based on the Black-Scholes options-pricing model utilizing certain assumptions for a risk free interest rate; volatility;
and expected lives of the awards. The Company primarily uses historical data to determine the assumptions to be used in the Black-Scholes
model. The assumptions used in calculating the fair value of share-based payment awards represent management&#x2019;s best estimates, but
these estimates involve inherent uncertainties and the application of management judgment.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;ASC 718 requires the recognition of the fair value of stock compensation
expense to be recognized over the vesting term of such award. The Company accounts for forfeitures as they occur.&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ShareBasedCompensationForfeituresPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000468">&lt;p id="xdx_802_eus-gaap--RevenueFromContractWithCustomerTextBlock_zy3RVNEBN3of" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 3: &lt;span id="xdx_822_zus0sZleCTp2"&gt;REVENUE RECOGNITION&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s sales revenue is derived primarily from short
term contracts with customers, which, on average, are in effect for less than twelve months. Sales revenue from manufactured equipment
transferred at a single point in time accounts for a majority of the Company&#x2019;s revenue.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Sales revenue is recognized when control of the Company&#x2019;s manufactured
equipment is transferred to its customers in an amount that reflects the consideration the Company expects to receive based upon the agreed
transaction price. The Company&#x2019;s performance obligations are satisfied when its customers take control of the purchased equipment,
in accordance with the contract terms. Based on prior experience, the Company reasonably estimates its sales returns and warranty reserves.
Sales are presented net of discounts and allowances. Discounts and allowances are determined when a transaction is negotiated. The Company
does not grant its customers or independent representatives the ability to return equipment nor does it grant price adjustments after
a sale is complete.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company does not capitalize any sales commission costs related
to the acquisition of a contract. All commissions related to a performance obligation that are satisfied at a point in time are expensed
when the customer takes control of the purchased equipment and revenue is recognized.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company applies the practical expedient in paragraph ASC 606-10-50-14
and does not disclose information about remaining performance obligations that have original expected durations of one-year or less.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;At February 29, 2024, the Company had received $&lt;span id="xdx_904_ecustom--CashDeposits_c20240229_pp0p0" title="Cash deposits"&gt;3,420,000&lt;/span&gt; in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $&lt;span id="xdx_90D_eus-gaap--LineOfCredit_c20240229_pp0p0" title="Letter of credit"&gt;72,000&lt;/span&gt; to secure these cash deposits.
At February 29, 2024, the Company was utilizing $&lt;span id="xdx_90C_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20230301__20240229_pp0p0" title="Line of credit collateral amount"&gt;72,000&lt;/span&gt; of its available credit line to collateralize these letters of credit.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;At February 28, 2023, the Company had received $&lt;span id="xdx_906_ecustom--CashDeposits_c20230228_pp0p0" title="Cash deposits"&gt;2,838,000&lt;/span&gt; in cash
deposits, representing contract liabilities, and had issued Letters of Credit in the amount of $&lt;span id="xdx_90B_eus-gaap--LineOfCredit_c20230228_pp0p0" title="Letter of credit"&gt;145,000&lt;/span&gt; to secure these cash deposits.
At February 28, 2023, the Company was utilizing $&lt;span id="xdx_909_eus-gaap--LineOfCreditFacilityCollateralFeesAmount_c20220301__20230228_pp0p0" title="Line of credit collateral amount"&gt;145,000&lt;/span&gt; of its available credit line to collateralize these letters of credit.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_zkluOALmvjfd" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s sales revenue, by product line is as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B9_z73Ew3dBNF4" style="display: none"&gt;Schedule of revenue recognition - sales revenue by product line&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Twelve Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center"&gt;% of total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center"&gt;% of total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Fluxing Systems&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue"&gt;724,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_906_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"&gt;4%&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue"&gt;1,179,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_903_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"&gt;8%&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Integrated Coating Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;2,889,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;14%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_909_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;7%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Multi-Axis Coating Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;10,075,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;51%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;6,785,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;45%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;OEM Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;1,533,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90C_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"&gt;8%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;2,144,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"&gt;14%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue"&gt;4,479,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&lt;span id="xdx_904_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"&gt;23%&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue"&gt;3,836,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&lt;span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"&gt;26%&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;TOTAL&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue"&gt;19,700,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue"&gt;15,058,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_z9xRCqJsyspg" style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;






</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <sotk:CashDeposits
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000470"
      unitRef="USD">3420000</sotk:CashDeposits>
    <us-gaap:LineOfCredit
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000472"
      unitRef="USD">72000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityCollateralFeesAmount
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000474"
      unitRef="USD">72000</us-gaap:LineOfCreditFacilityCollateralFeesAmount>
    <sotk:CashDeposits
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000476"
      unitRef="USD">2838000</sotk:CashDeposits>
    <us-gaap:LineOfCredit
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000478"
      unitRef="USD">145000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityCollateralFeesAmount
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000480"
      unitRef="USD">145000</us-gaap:LineOfCreditFacilityCollateralFeesAmount>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000482">&lt;p id="xdx_89B_eus-gaap--ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_zkluOALmvjfd" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s sales revenue, by product line is as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B9_z73Ew3dBNF4" style="display: none"&gt;Schedule of revenue recognition - sales revenue by product line&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Twelve Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center"&gt;% of total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; font-style: italic; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; font-style: italic; text-align: center"&gt;% of total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold; font-style: italic"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Fluxing Systems&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue"&gt;724,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_906_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"&gt;4%&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pp0p0" style="width: 10%; text-align: right" title="Sales revenue"&gt;1,179,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_903_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--FluxingSystemsMember_pdd" title="Sales revenue, percent"&gt;8%&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Integrated Coating Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;2,889,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;14%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_909_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--IntegratedCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;7%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Multi-Axis Coating Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;10,075,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;51%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;6,785,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--MultiAxisCoatingSystemsMember_pdd" title="Sales revenue, percent"&gt;45%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;OEM Systems&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;1,533,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90C_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"&gt;8%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pp0p0" style="text-align: right" title="Sales revenue"&gt;2,144,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OemSystemsMember_pdd" title="Sales revenue, percent"&gt;14%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue"&gt;4,479,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&lt;span id="xdx_904_ecustom--SalesRevenuePercent_c20230301__20240229__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"&gt;23%&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Sales revenue"&gt;3,836,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&lt;span id="xdx_901_ecustom--SalesRevenuePercent_c20220301__20230228__srt--ProductOrServiceAxis__custom--OtherProductLineMember_pdd" title="Sales revenue, percent"&gt;26%&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;TOTAL&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--Revenues_c20230301__20240229__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue"&gt;19,700,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--Revenues_c20220301__20230228__srt--ProductOrServiceAxis__custom--ProductLineMember_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Sales revenue"&gt;15,058,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_FluxingSystemsMember"
      decimals="0"
      id="Fact000484"
      unitRef="USD">724000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_custom_FluxingSystemsMember"
      decimals="INF"
      id="Fact000486"
      unitRef="Pure">0.04</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_FluxingSystemsMember"
      decimals="0"
      id="Fact000488"
      unitRef="USD">1179000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_custom_FluxingSystemsMember"
      decimals="INF"
      id="Fact000490"
      unitRef="Pure">0.08</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember"
      decimals="0"
      id="Fact000492"
      unitRef="USD">2889000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_custom_IntegratedCoatingSystemsMember"
      decimals="INF"
      id="Fact000494"
      unitRef="Pure">0.14</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember"
      decimals="0"
      id="Fact000496"
      unitRef="USD">1114000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_custom_IntegratedCoatingSystemsMember"
      decimals="INF"
      id="Fact000498"
      unitRef="Pure">0.07</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember"
      decimals="0"
      id="Fact000500"
      unitRef="USD">10075000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_custom_MultiAxisCoatingSystemsMember"
      decimals="INF"
      id="Fact000502"
      unitRef="Pure">0.51</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember"
      decimals="0"
      id="Fact000504"
      unitRef="USD">6785000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_custom_MultiAxisCoatingSystemsMember"
      decimals="INF"
      id="Fact000506"
      unitRef="Pure">0.45</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_OemSystemsMember"
      decimals="0"
      id="Fact000508"
      unitRef="USD">1533000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_custom_OemSystemsMember"
      decimals="INF"
      id="Fact000510"
      unitRef="Pure">0.08</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_OemSystemsMember"
      decimals="0"
      id="Fact000512"
      unitRef="USD">2144000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_custom_OemSystemsMember"
      decimals="INF"
      id="Fact000514"
      unitRef="Pure">0.14</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_OtherProductLineMember"
      decimals="0"
      id="Fact000516"
      unitRef="USD">4479000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_custom_OtherProductLineMember"
      decimals="INF"
      id="Fact000518"
      unitRef="Pure">0.23</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_OtherProductLineMember"
      decimals="0"
      id="Fact000520"
      unitRef="USD">3836000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_custom_OtherProductLineMember"
      decimals="INF"
      id="Fact000522"
      unitRef="Pure">0.26</sotk:SalesRevenuePercent>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_custom_ProductLineMember"
      decimals="0"
      id="Fact000524"
      unitRef="USD">19700000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_custom_ProductLineMember"
      decimals="0"
      id="Fact000526"
      unitRef="USD">15058000</us-gaap:Revenues>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000529">&lt;p id="xdx_801_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zQ3pl4tFAc2e" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 4: &lt;span id="xdx_828_z8yGPXtLPjdh"&gt;STOCK-BASED COMPENSATION&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Options&lt;/i&gt;&lt;/b&gt; &#x2013; In May 2023, the Company&#x2019;s
Board of Directors authorized the creation of the 2023 Stock Incentive Plan (the &#x201c;2023 Plan&#x201d;) pursuant to which the Company
may grant up to &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Number of shares available for purchase"&gt;2,500,000&lt;/span&gt; options or shares to officers, directors, employees and consultants of the Company and its subsidiaries. The
Company&#x2019;s shareholders approved the adoption of the 2023 Plan in August 2023. The 2023 Plan replaced the 2013 Stock Incentive Plan
(the &#x201c;2013 Plan&#x201d;) under which no additional options or shares could be granted after June 2023. There are currently &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options outstanding"&gt;65,793&lt;/span&gt;
and &lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240229__us-gaap--PlanNameAxis__custom--TwoThousandThirteenStockIncentivePlanMember_pdd" title="Options outstanding"&gt;229,749&lt;/span&gt; options outstanding, respectively, under the 2023 Plan and the 2013 Plan.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Under the 2023 Stock Incentive Plan, as amended (the "2023 Plan"),
options can be granted to officers, directors, consultants and employees of the Company and its subsidiaries to purchase up to &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_pdd" title="Options granted"&gt;2,500,000&lt;/span&gt;
shares of the Company's common stock. Under the 2023 Plan options expire ten &lt;span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--PlanNameAxis__custom--TwoThousandTwentyThreeStockIncentivePlanMember_zjQA03Ic3yY4" style="display: none" title="Options, expiration period"&gt;10&lt;/span&gt; years after the date of grant.&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;During fiscal 2024, the Company granted options to
acquire &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted"&gt;54,813&lt;/span&gt;
shares to employees exercisable at prices ranging from $&lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price"&gt;4.79&lt;/span&gt;
to $&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price"&gt;5.60&lt;/span&gt;
and options to acquire &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted"&gt;18,380&lt;/span&gt;
shares to the non-employee members of the board of directors with an exercise price of $&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price"&gt;4.79&lt;/span&gt;.
The options granted to employees and directors vest over three &lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_znKnmVEcz8re" style="display: none" title="Options, vesting period"&gt;3&lt;/span&gt; years and expire in &lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zwEfrFqe8OU4" style="display: none" title="Options, expiration period"&gt;10&lt;/span&gt;
ten years. The options granted by the Company during fiscal 2024 had a combined weighted average grant date fair value of $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230301__20240229__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zvGYP56I8O3f" title="Weighted average grant date fair value, per share"&gt;3.11&lt;/span&gt; per
share.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;During fiscal 2023, the Company granted options to
acquire &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_pdd" title="Options granted"&gt;28,239&lt;/span&gt;
shares to employees exercisable at prices ranging from $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_pdd" title="Options, exercisable price"&gt;5.45&lt;/span&gt;
to $&lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_pdd" title="Options, exercisable price"&gt;5.96&lt;/span&gt;
and options to acquire &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options granted"&gt;16,500&lt;/span&gt;
shares to the non-employee members of the board of directors with an exercise price of $&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228__us-gaap--AwardTypeAxis__custom--NonEmployeeDirectorsStockOptionMember_pdd" title="Options, exercisable price"&gt;5.50&lt;/span&gt;.
The options granted to employees and directors vest over three &lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_z5nxZMdHxhG2" style="display: none" title="Options, vesting period"&gt;3&lt;/span&gt; years and expire in &lt;span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_zdnxqeiTXlVb" style="display: none" title="Options, expiration period"&gt;10&lt;/span&gt;
ten years. The options granted by the Company during fiscal 2023 had a combined weighted average grant date fair value of $&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220301__20230228__us-gaap--AwardTypeAxis__custom--EmployeesAndDirectorsMember_pdd" title="Weighted average grant date fair value, per share"&gt;3.44&lt;/span&gt; per
share.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zdjOTLN71eSh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;A summary of the activity for both plans, for fiscal 2024 and fiscal
2023 is as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;span id="xdx_8B4_zesxg6b60bQ" style="display: none"&gt;Stock-based compensation - summary of stock options&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Stock Options&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercise Price $&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Outstanding&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercisable&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Outstanding&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercisable&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Term - Years&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 0%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 34%; text-align: left"&gt;Balance - February 28, 2022&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220301__20230328_zVyXctzsl8D7" style="width: 10%; text-align: right" title="Stock Options outstanding at beginning of period (in shares)"&gt;253,710&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20220301__20230228_zs9mqUVuSTAf" style="width: 10%; text-align: right" title="Stock Options exercisable at beginning of period (in shares)"&gt;61,690&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220301__20230228_z317RB2Uve2a" style="width: 10%; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)"&gt;4.46&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20220301__20230228_zgmVSg8eJbqg" style="width: 10%; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)"&gt;3.53&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210301__20220228_z0UukW3RLK0b" style="width: 10%; text-align: right" title="Weighted average remaining term outstanding"&gt;8.94&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228_pdd" style="text-align: right" title="Granted (in shares)"&gt;44,739&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228_pdd" style="text-align: right" title="Granted (in dollars per share)"&gt;5.71&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Exercised&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220301__20230228_zj1BE5K1e0m2" style="text-align: right" title="Exercised (in shares)"&gt;(16,973&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zsmgeBzGL7h6" style="text-align: right" title="Exercised (in dollars per share)"&gt;(1.77&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20220301__20230228_zWWUqLehpQUa" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)"&gt;(30,717&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zWdmTBfxSAw5" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)"&gt;(4.66&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Balance - February 28, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230301__20240329_zWjPAVNtMVuh" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at beginning of period (in shares)"&gt;250,759&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20230301__20240229_z93CQi9uIkJi" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at beginning of period (in shares)"&gt;133,609&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230301__20240201_zX2F21mIwKrc" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)"&gt;4.84&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20230301__20240201_zC8E3R3cXe22" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)"&gt;4.62&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220301__20230228_zDUot4KlUhmf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding"&gt;8.52&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229_pdd" style="text-align: right" title="Granted (in shares)"&gt;73,193&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229_pdd" style="text-align: right" title="Granted (in dollars per share)"&gt;5.02&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Exercised&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230301__20240229_zOQAqVfak7Od" style="text-align: right" title="Exercised (in shares)"&gt;(19,701&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zRqzSqBeprI1" style="text-align: right" title="Exercised (in dollars per share)"&gt;(3.62&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230301__20240229_zEo2xjUgbD8g" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)"&gt;(8,709&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zTaRFZT1cmYe" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)"&gt;(4.20&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Balance - February 29, 2024&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230301__20240229_zKSpTLhdK9ec" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at end of period (in shares)"&gt;295,542&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230301__20240229_z1CzQRf3JXT4" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at end of period (in shares)"&gt;181,376&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230301__20240229_zZl9suRyvWaa" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at end of period (in dollars per share)"&gt;4.99&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230301__20240229_zsusx5vKlSEf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at end of period (in dollars per share)"&gt;4.89&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230301__20240229_zoLeslkdPMM5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding"&gt;8.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_z99IQkiUqGz2" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The aggregate intrinsic value of the Company&#x2019;s vested and exercisable
options at February 29, 2024 was $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20240229_zI6zI8BXunk2" title="Aggregate intrinsic value of options outstanding"&gt;167,709&lt;/span&gt;.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;For the years ended February 29, 2024 and February 28, 2023 the
Company recognized $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensation_c20230301__20240229_pp0p0" title="Stock-based compensation expense"&gt;203,577&lt;/span&gt;
and $&lt;span id="xdx_90D_eus-gaap--ShareBasedCompensation_c20220301__20230228_pp0p0" title="Stock-based compensation expense"&gt;256,740&lt;/span&gt;
in stock based compensation expense, respectively. Such amounts are included in general and administrative expenses on the
consolidated statements of income. Total compensation expense related to non-vested options not yet recognized as of February 29,
2024 was $&lt;span id="xdx_90B_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_c20240229_pp0p0" title="Compensation expense not yet recognized"&gt;298,000&lt;/span&gt;
and will be recognized over the next three &lt;span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230301__20240229_ziwPi560zhU3" style="display: none" title="Compensation expense, period for recognition"&gt;3&lt;/span&gt; years based on vesting date. The amount of future stock option compensation expense
could be affected by any future option grants or by any forfeitures. During the year ended February 29, 2024, the Company had net
settlement exercises of stock options, whereby, the optionee did not pay cash for the options but instead received the number of
shares equal to the difference between the exercise price and the market price on the date of exercise. Net settlement exercises
during the year ended February 29, 2024 resulted in &lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230301__20240229_pdd" title="Options cancelled in settlement of shares issued"&gt;8,807&lt;/span&gt; shares of common stock issued.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Determining the appropriate fair value of the stock-based awards requires
the input of subjective assumptions, including the fair value of the Company&#x2019;s common stock, and for stock options, the expected
life of the option, and the expected stock price volatility. The Company uses the Black-Scholes option pricing model to value its stock
option awards. The assumptions used in calculating the fair value of stock-based awards represent management&#x2019;s best estimates and
involve inherent uncertainties and the application of management&#x2019;s judgment.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The expected term of the options is estimated based on the Company&#x2019;s
historical exercise rate. The expected life of awards that vest immediately use the contractual maturity since they are vested when issued.
For stock price volatility, the Company uses its expected volatility of the price of the Company&#x2019;s common stock based on historical
activity. The risk-free interest rate is based on U.S. Treasury notes with a term approximating the expected life of the option at the
grant-date.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_z2cM2FikF8Le" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;The weighted-average fair value of options has been estimated
on the date of grant using the Black-Scholes options-pricing model. The weighted-average Black-Scholes assumptions are as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&lt;span id="xdx_8BC_zO6uBdOpzQj7" style="display: none"&gt;Schedule of weighted-average black-scholes assumptions&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Fiscal Year Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29, &lt;br/&gt; 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28, &lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected life&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zWX8KRnLrstf" title="Expected life (in years)"&gt;5&lt;/span&gt; - &lt;span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zyUatMKVW7Ej" title="Expected life (in years)"&gt;8&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zlunQfUL1Wv9" title="Expected life (in years)"&gt;5&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zBFyM2F586Sj" title="Expected life (in years)"&gt;8&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Risk free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20230301__20240229_pdd" title="Risk free interest rate, minimum"&gt;2.82%&lt;/span&gt; - &lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20230301__20240229_pdd" title="Risk free interest rate, maximum"&gt;4.39%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20220301__20230228_pdd" title="Risk free interest rate, minimum"&gt;2.82%&lt;/span&gt; &#x2013; &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20220301__20230228_pdd" title="Risk free interest rate, maximum"&gt;4.02%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20230301__20240229_pdd" title="Expected volatility, minimum"&gt;55.02%&lt;/span&gt; - &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20230301__20240229_pdd" title="Expected volatility, maximum"&gt;62.48%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20220301__20230228_pdd" title="Expected volatility, minimum"&gt;55.02%&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20220301__20230228_pdd" title="Expected volatility, maximum"&gt;62.01%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20230301__20240229_pdd" title="Expected dividend yield"&gt;0%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; width: 2%"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20220301__20230228_pdd" title="Expected dividend yield"&gt;0%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_z1zV98WwnWnk" style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember"
      decimals="INF"
      id="Fact000531"
      unitRef="Shares">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember"
      decimals="INF"
      id="Fact000533"
      unitRef="Shares">65793</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-02-29_custom_TwoThousandThirteenStockIncentivePlanMember"
      decimals="INF"
      id="Fact000535"
      unitRef="Shares">229749</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember"
      decimals="INF"
      id="Fact000537"
      unitRef="Shares">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="From2023-03-012024-02-29_custom_TwoThousandTwentyThreeStockIncentivePlanMember"
      id="Fact000539">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000541"
      unitRef="Shares">54813</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember"
      decimals="INF"
      id="Fact000543"
      unitRef="USDPShares">4.79</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember"
      decimals="INF"
      id="Fact000545"
      unitRef="USDPShares">5.60</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember"
      decimals="INF"
      id="Fact000547"
      unitRef="Shares">18380</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-012024-02-29_custom_NonEmployeeDirectorsStockOptionMember"
      decimals="INF"
      id="Fact000549"
      unitRef="USDPShares">4.79</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember"
      id="Fact000551">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember"
      id="Fact000553">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-03-012024-02-29_custom_EmployeesAndDirectorsMember"
      decimals="INF"
      id="Fact000555"
      unitRef="USDPShares">3.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000557"
      unitRef="Shares">28239</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember"
      decimals="INF"
      id="Fact000559"
      unitRef="USDPShares">5.45</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember"
      decimals="INF"
      id="Fact000561"
      unitRef="USDPShares">5.96</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember"
      decimals="INF"
      id="Fact000563"
      unitRef="Shares">16500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28_custom_NonEmployeeDirectorsStockOptionMember"
      decimals="INF"
      id="Fact000565"
      unitRef="USDPShares">5.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember"
      id="Fact000567">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember"
      id="Fact000569">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-03-012023-02-28_custom_EmployeesAndDirectorsMember"
      decimals="INF"
      id="Fact000571"
      unitRef="USDPShares">3.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000573">&lt;p id="xdx_897_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zdjOTLN71eSh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;A summary of the activity for both plans, for fiscal 2024 and fiscal
2023 is as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;span id="xdx_8B4_zesxg6b60bQ" style="display: none"&gt;Stock-based compensation - summary of stock options&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Stock Options&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercise Price $&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Outstanding&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercisable&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Outstanding&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Exercisable&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Term - Years&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 0%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 34%; text-align: left"&gt;Balance - February 28, 2022&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220301__20230328_zVyXctzsl8D7" style="width: 10%; text-align: right" title="Stock Options outstanding at beginning of period (in shares)"&gt;253,710&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20220301__20230228_zs9mqUVuSTAf" style="width: 10%; text-align: right" title="Stock Options exercisable at beginning of period (in shares)"&gt;61,690&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220301__20230228_z317RB2Uve2a" style="width: 10%; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)"&gt;4.46&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20220301__20230228_zgmVSg8eJbqg" style="width: 10%; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)"&gt;3.53&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210301__20220228_z0UukW3RLK0b" style="width: 10%; text-align: right" title="Weighted average remaining term outstanding"&gt;8.94&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220301__20230228_pdd" style="text-align: right" title="Granted (in shares)"&gt;44,739&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220301__20230228_pdd" style="text-align: right" title="Granted (in dollars per share)"&gt;5.71&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Exercised&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220301__20230228_zj1BE5K1e0m2" style="text-align: right" title="Exercised (in shares)"&gt;(16,973&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zsmgeBzGL7h6" style="text-align: right" title="Exercised (in dollars per share)"&gt;(1.77&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20220301__20230228_zWWUqLehpQUa" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)"&gt;(30,717&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20220301__20230228_zWdmTBfxSAw5" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)"&gt;(4.66&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Balance - February 28, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230301__20240329_zWjPAVNtMVuh" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at beginning of period (in shares)"&gt;250,759&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iS_c20230301__20240229_z93CQi9uIkJi" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at beginning of period (in shares)"&gt;133,609&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230301__20240201_zX2F21mIwKrc" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at beginning of period (in dollars per share)"&gt;4.84&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iS_c20230301__20240201_zC8E3R3cXe22" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at beginning of period (in dollars per share)"&gt;4.62&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220301__20230228_zDUot4KlUhmf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding"&gt;8.52&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230301__20240229_pdd" style="text-align: right" title="Granted (in shares)"&gt;73,193&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230301__20240229_pdd" style="text-align: right" title="Granted (in dollars per share)"&gt;5.02&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;Exercised&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230301__20240229_zOQAqVfak7Od" style="text-align: right" title="Exercised (in shares)"&gt;(19,701&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zRqzSqBeprI1" style="text-align: right" title="Exercised (in dollars per share)"&gt;(3.62&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230301__20240229_zEo2xjUgbD8g" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in shares)"&gt;(8,709&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_iN_di_c20230301__20240229_zTaRFZT1cmYe" style="border-bottom: Black 1pt solid; text-align: right" title="Cancelled (in dollars per share)"&gt;(4.20&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Balance - February 29, 2024&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230301__20240229_zKSpTLhdK9ec" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options outstanding at end of period (in shares)"&gt;295,542&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230301__20240229_z1CzQRf3JXT4" style="border-bottom: Black 2.5pt double; text-align: right" title="Stock Options exercisable at end of period (in shares)"&gt;181,376&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230301__20240229_zZl9suRyvWaa" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average outstanding at end of period (in dollars per share)"&gt;4.99&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230301__20240229_zsusx5vKlSEf" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Average exercisable at end of period (in dollars per share)"&gt;4.89&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230301__20240229_zoLeslkdPMM5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average remaining term outstanding"&gt;8.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-02-28"
      decimals="INF"
      id="Fact000575"
      unitRef="Shares">253710</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2022-02-28"
      decimals="INF"
      id="Fact000577"
      unitRef="Shares">61690</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-02-28"
      decimals="INF"
      id="Fact000579"
      unitRef="USDPShares">4.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2022-02-28"
      decimals="INF"
      id="Fact000581"
      unitRef="USDPShares">3.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2021-03-012022-02-28" id="Fact000583">P8Y11M8D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000585"
      unitRef="Shares">44739</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000587"
      unitRef="USDPShares">5.71</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000589"
      unitRef="Shares">16973</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000591"
      unitRef="USDPShares">1.77</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000593"
      unitRef="Shares">30717</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000595"
      unitRef="USDPShares">4.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000597"
      unitRef="Shares">250759</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000599"
      unitRef="Shares">133609</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000601"
      unitRef="USDPShares">4.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-02-28"
      decimals="INF"
      id="Fact000603"
      unitRef="USDPShares">4.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2022-03-012023-02-28" id="Fact000605">P8Y6M7D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000607"
      unitRef="Shares">73193</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000609"
      unitRef="USDPShares">5.02</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000611"
      unitRef="Shares">19701</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000613"
      unitRef="USDPShares">3.62</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000615"
      unitRef="Shares">8709</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000617"
      unitRef="USDPShares">4.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000619"
      unitRef="Shares">295542</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000621"
      unitRef="Shares">181376</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000623"
      unitRef="USDPShares">4.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="Fact000625"
      unitRef="USDPShares">4.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2023-03-01to2024-02-29" id="Fact000627">P8Y14D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000629"
      unitRef="USD">167709</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000632"
      unitRef="USD">203577</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000634"
      unitRef="USD">256740</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000636"
      unitRef="USD">298000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2023-03-01to2024-02-29" id="Fact000638">P3Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000640"
      unitRef="Shares">8807</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000642">&lt;p id="xdx_893_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_z2cM2FikF8Le" style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;The weighted-average fair value of options has been estimated
on the date of grant using the Black-Scholes options-pricing model. The weighted-average Black-Scholes assumptions are as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&lt;span id="xdx_8BC_zO6uBdOpzQj7" style="display: none"&gt;Schedule of weighted-average black-scholes assumptions&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;Fiscal Year Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29, &lt;br/&gt; 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28, &lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected life&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zWX8KRnLrstf" title="Expected life (in years)"&gt;5&lt;/span&gt; - &lt;span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230301__20240229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zyUatMKVW7Ej" title="Expected life (in years)"&gt;8&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MinimumMember_zlunQfUL1Wv9" title="Expected life (in years)"&gt;5&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220301__20230228__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember__srt--RangeAxis__srt--MaximumMember_zBFyM2F586Sj" title="Expected life (in years)"&gt;8&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Risk free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20230301__20240229_pdd" title="Risk free interest rate, minimum"&gt;2.82%&lt;/span&gt; - &lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20230301__20240229_pdd" title="Risk free interest rate, maximum"&gt;4.39%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_c20220301__20230228_pdd" title="Risk free interest rate, minimum"&gt;2.82%&lt;/span&gt; &#x2013; &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_c20220301__20230228_pdd" title="Risk free interest rate, maximum"&gt;4.02%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20230301__20240229_pdd" title="Expected volatility, minimum"&gt;55.02%&lt;/span&gt; - &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20230301__20240229_pdd" title="Expected volatility, maximum"&gt;62.48%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_c20220301__20230228_pdd" title="Expected volatility, minimum"&gt;55.02%&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_c20220301__20230228_pdd" title="Expected volatility, maximum"&gt;62.01%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;&lt;span style="font-size: 11pt"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20230301__20240229_pdd" title="Expected dividend yield"&gt;0%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; width: 2%"&gt;&lt;span style="font-size: 11pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: center"&gt;&lt;span style="font-size: 11pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_c20220301__20230228_pdd" title="Expected dividend yield"&gt;0%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MinimumMember"
      id="Fact000644">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2023-03-012024-02-29_us-gaap_EmployeeStockOptionMember_srt_MaximumMember"
      id="Fact000646">P8Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MinimumMember"
      id="Fact000648">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2022-03-012023-02-28_us-gaap_EmployeeStockOptionMember_srt_MaximumMember"
      id="Fact000650">P8Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000652"
      unitRef="Pure">0.0282</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000654"
      unitRef="Pure">0.0439</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000656"
      unitRef="Pure">0.0282</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000658"
      unitRef="Pure">0.0402</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000660"
      unitRef="Pure">0.5502</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000662"
      unitRef="Pure">0.6248</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000664"
      unitRef="Pure">0.5502</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000666"
      unitRef="Pure">0.6201</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000668"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000670"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000672">&lt;p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zogKOLBIa6ik" style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;NOTE 5: &lt;span id="xdx_824_zClfn1Hwf1m6"&gt;INVENTORIES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zXhZ0X9ohFbh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Inventories consist of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B0_zfnqaepuHHcd" style="display: none"&gt;Schedule of inventory, current&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240229_zsqGeVHmmR5j" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230228_zPNWhdkuzp7l" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterials_iI_maIGzsAc_zZ5uSea3x1cc" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Raw materials and subassemblies&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,270,567&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;1,868,689&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--InventoryFinishedGoods_iI_maIGzsAc_zGq4SvESbEqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Finished goods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,785,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;613,915&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryWorkInProcess_iI_maIGzsAc_zwFr6sLDNcXj" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Work in process&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,165,461&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;760,305&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzsAc_zmpOJvG3926g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,221,980&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,242,909&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zRBb05tzt2Bh" style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;The Company maintains an allowance for slow-moving inventory for raw materials and finished
goods. The recorded allowances at February 29, 2024 and February 28, 2023, totaled $&lt;span id="xdx_901_eus-gaap--InventoryValuationReserves_c20240229_pp0p0" title="Allowance for slow moving inventory"&gt;380,400&lt;/span&gt; and $&lt;span id="xdx_907_eus-gaap--InventoryValuationReserves_c20230228_pp0p0" title="Allowance for slow moving inventory"&gt;332,525&lt;/span&gt;, respectively.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000674">&lt;p id="xdx_89F_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zXhZ0X9ohFbh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Inventories consist of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B0_zfnqaepuHHcd" style="display: none"&gt;Schedule of inventory, current&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240229_zsqGeVHmmR5j" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230228_zPNWhdkuzp7l" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterials_iI_maIGzsAc_zZ5uSea3x1cc" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Raw materials and subassemblies&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,270,567&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;1,868,689&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--InventoryFinishedGoods_iI_maIGzsAc_zGq4SvESbEqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Finished goods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,785,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;613,915&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryWorkInProcess_iI_maIGzsAc_zwFr6sLDNcXj" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Work in process&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,165,461&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;760,305&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzsAc_zmpOJvG3926g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,221,980&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,242,909&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000676"
      unitRef="USD">2270567</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000677"
      unitRef="USD">1868689</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000679"
      unitRef="USD">1785952</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000680"
      unitRef="USD">613915</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000682"
      unitRef="USD">1165461</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000683"
      unitRef="USD">760305</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryGross
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000685"
      unitRef="USD">5221980</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000686"
      unitRef="USD">3242909</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000688"
      unitRef="USD">380400</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000690"
      unitRef="USD">332525</us-gaap:InventoryValuationReserves>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000693">&lt;p id="xdx_80C_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zWqBucCqwOE4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 6: &lt;span id="xdx_82F_zg42Bkd9vzgj"&gt;BUILDINGS, EQUIPMENT, FURNISHINGS AND LEASEHOLD IMPROVEMENTS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrAsoVJSdt28" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Buildings, equipment, furnishings and leasehold improvements consist
of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zlS15U1pM809" style="display: none"&gt;Buildings, equipment, furnishings and leasehold improvements&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%"&gt;Buildings&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals"&gt;2,250,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals"&gt;2,250,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Laboratory equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,733,911&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,647,951&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,891,345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,807,817&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals"&gt;924,356&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals"&gt;789,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Tradeshow and demonstration equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,151,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,137,346&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Furniture and fixtures&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals"&gt;1,771,084&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals"&gt;1,302,545&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;Totals&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_c20240229_pp0p0" style="text-align: right" title="Totals"&gt;9,722,595&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--PropertyPlantAndEquipmentGross_c20230228_pp0p0" style="text-align: right" title="Totals"&gt;8,934,703&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_zhuBznxkNzJh" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation"&gt;(6,890,439&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zb0QlZvhgdp1" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation"&gt;(6,309,707&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net"&gt;2,832,156&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net"&gt;2,624,996&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zdC5VXozA47g" style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Depreciation expense for the years ended February 29, 2024 and February
28, 2023 was $&lt;span id="xdx_902_eus-gaap--Depreciation_c20230301__20240229_pp0p0" title="Depreciation Expense"&gt;580,732&lt;/span&gt; and $&lt;span id="xdx_907_eus-gaap--Depreciation_c20220301__20230228_pp0p0" title="Depreciation Expense"&gt;492,055&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000695">&lt;p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrAsoVJSdt28" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Buildings, equipment, furnishings and leasehold improvements consist
of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zlS15U1pM809" style="display: none"&gt;Buildings, equipment, furnishings and leasehold improvements&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%"&gt;Buildings&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals"&gt;2,250,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingMember_pp0p0" style="width: 12%; text-align: right" title="Totals"&gt;2,250,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Laboratory equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,733,911&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--LaboratoryEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,647,951&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,891,345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,807,817&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals"&gt;924,356&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_pp0p0" style="text-align: right" title="Totals"&gt;789,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Tradeshow and demonstration equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,151,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TradeshowAndDemonstrationEquipmentMember_pp0p0" style="text-align: right" title="Totals"&gt;1,137,346&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Furniture and fixtures&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_c20240229__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals"&gt;1,771,084&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentGross_c20230228__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Totals"&gt;1,302,545&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;Totals&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_c20240229_pp0p0" style="text-align: right" title="Totals"&gt;9,722,595&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--PropertyPlantAndEquipmentGross_c20230228_pp0p0" style="text-align: right" title="Totals"&gt;8,934,703&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_zhuBznxkNzJh" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation"&gt;(6,890,439&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zb0QlZvhgdp1" style="border-bottom: Black 1pt solid; text-align: right" title="Less: Accumulated depreciation"&gt;(6,309,707&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_c20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net"&gt;2,832,156&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Equipment, furnishings and leasehold improvements, net"&gt;2,624,996&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_us-gaap_BuildingMember"
      decimals="0"
      id="Fact000697"
      unitRef="USD">2250000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_us-gaap_BuildingMember"
      decimals="0"
      id="Fact000699"
      unitRef="USD">2250000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_custom_LaboratoryEquipmentMember"
      decimals="0"
      id="Fact000701"
      unitRef="USD">1733911</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_custom_LaboratoryEquipmentMember"
      decimals="0"
      id="Fact000703"
      unitRef="USD">1647951</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000705"
      unitRef="USD">1891345</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000707"
      unitRef="USD">1807817</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000709"
      unitRef="USD">924356</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000711"
      unitRef="USD">789044</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_custom_TradeshowAndDemonstrationEquipmentMember"
      decimals="0"
      id="Fact000713"
      unitRef="USD">1151899</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_custom_TradeshowAndDemonstrationEquipmentMember"
      decimals="0"
      id="Fact000715"
      unitRef="USD">1137346</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29_us-gaap_FurnitureAndFixturesMember"
      decimals="0"
      id="Fact000717"
      unitRef="USD">1771084</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28_us-gaap_FurnitureAndFixturesMember"
      decimals="0"
      id="Fact000719"
      unitRef="USD">1302545</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000721"
      unitRef="USD">9722595</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000723"
      unitRef="USD">8934703</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000725"
      unitRef="USD">6890439</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000727"
      unitRef="USD">6309707</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000729"
      unitRef="USD">2832156</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000731"
      unitRef="USD">2624996</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000733"
      unitRef="USD">580732</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000735"
      unitRef="USD">492055</us-gaap:Depreciation>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000737">&lt;p id="xdx_80F_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zqwVIyyo1km9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 7: &lt;span id="xdx_828_zUCtqhBpwYy3"&gt;ACCRUED EXPENSES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZJMFbpkzVM1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Accrued expenses consist of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zEjH6xjARkK3" style="display: none"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240229_zs1lEHYrXLFa" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230228_zOuHtzDn9Ws2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maALCzOiN_z4yMt9P9bBmh" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Accrued compensation&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;579,757&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;352,619&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ProductWarrantyAccrual_iI_pp0p0_maALCzOiN_zYUcRRI5Sgz7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Estimated warranty costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;524,875&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500,650&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccruedPayrollTaxesCurrent_iI_pp0p0_maALCzOiN_zXt9vjWXU1Zc" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued sales tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;152,547&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0748"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--AccruedSalesCommissionCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z12zyaSKs9V4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Accrued commissions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;133,771&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;157,927&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--AccruedProfessionalFeesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_zjxvP7HKp0Wf" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Professional fees&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,921&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OtherAccruedLiabilitiesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z9JAZpAxDBll" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;273,702&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;315,329&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AccruedLiabilitiesCurrent_iTI_pp0p0_mtALCzOiN_ziA9bXgV0CUb" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="color: white; text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,739,478&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,427,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zPkhIIm88BUc" style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000739">&lt;p id="xdx_897_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZJMFbpkzVM1" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Accrued expenses consist of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zEjH6xjARkK3" style="display: none"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240229_zs1lEHYrXLFa" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230228_zOuHtzDn9Ws2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maALCzOiN_z4yMt9P9bBmh" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Accrued compensation&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;579,757&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;352,619&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ProductWarrantyAccrual_iI_pp0p0_maALCzOiN_zYUcRRI5Sgz7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Estimated warranty costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;524,875&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500,650&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccruedPayrollTaxesCurrent_iI_pp0p0_maALCzOiN_zXt9vjWXU1Zc" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued sales tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;152,547&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0748"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--AccruedSalesCommissionCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z12zyaSKs9V4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Accrued commissions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;133,771&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;157,927&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--AccruedProfessionalFeesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_zjxvP7HKp0Wf" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Professional fees&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,921&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OtherAccruedLiabilitiesCurrentAndNoncurrent_iI_pp0p0_maALCzOiN_z9JAZpAxDBll" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;273,702&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;315,329&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AccruedLiabilitiesCurrent_iTI_pp0p0_mtALCzOiN_ziA9bXgV0CUb" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="color: white; text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,739,478&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,427,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedSalariesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000741"
      unitRef="USD">579757</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000742"
      unitRef="USD">352619</us-gaap:AccruedSalariesCurrent>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000744"
      unitRef="USD">524875</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000745"
      unitRef="USD">500650</us-gaap:ProductWarrantyAccrual>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000747"
      unitRef="USD">152547</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedSalesCommissionCurrentAndNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000750"
      unitRef="USD">133771</us-gaap:AccruedSalesCommissionCurrentAndNoncurrent>
    <us-gaap:AccruedSalesCommissionCurrentAndNoncurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000751"
      unitRef="USD">157927</us-gaap:AccruedSalesCommissionCurrentAndNoncurrent>
    <us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000753"
      unitRef="USD">74826</us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent>
    <us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000754"
      unitRef="USD">100921</us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000756"
      unitRef="USD">273702</us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000757"
      unitRef="USD">315329</us-gaap:OtherAccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000759"
      unitRef="USD">1739478</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000760"
      unitRef="USD">1427446</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ShortTermDebtTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000762">&lt;p id="xdx_80C_eus-gaap--ShortTermDebtTextBlock_z05pBqv0bFF9" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 8: &lt;span id="xdx_820_zetQgGQfLC34"&gt;REVOLVING LINE OF CREDIT&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company has a $&lt;span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit"&gt;&lt;span id="xdx_90F_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pp0p0" title="Revolving line of credit"&gt;1,500,000&lt;/span&gt;&lt;/span&gt; revolving line of credit at prime which
was &lt;span id="xdx_90E_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20240229__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate"&gt;8.50%&lt;/span&gt; at February 29, 2024 and &lt;span id="xdx_90C_eus-gaap--LineOfCreditFacilityInterestRateAtPeriodEnd_c20230228__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_pdd" title="Interest rate"&gt;7.75%&lt;/span&gt; at February 28, 2023. The revolving credit line is collateralized by the Company&#x2019;s accounts
receivable and inventory. The revolving credit line is payable on demand and must be retired for a 30-day period, once annually. If the
Company fails to perform the 30-day annual pay down or if the bank elects to terminate the credit line, the bank may, at its option, convert
the outstanding balance to a 36-month term note with payments including interest in 36 equal installments.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;As of February 29, 2024, $&lt;span id="xdx_903_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers"&gt;72,000&lt;/span&gt; of the Company&#x2019;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expire in April 2024. As of February 29, 2024, there were no outstanding borrowings under the line of credit
and the unused portion of the credit line was $&lt;span id="xdx_903_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20240229__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line"&gt;1,428,000&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;As of February 28, 2023, $&lt;span id="xdx_905_ecustom--CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Credit line utilized to collateralize letter of credit issued to customers"&gt;145,000&lt;/span&gt; of the Company&#x2019;s credit line
was being utilized to collateralize Letters of Credit issued to customers that have remitted cash deposits to the Company on existing
orders. The Letters of Credit expired in May and July 2023. As of February 28, 2023, there were no outstanding borrowings under the line
of credit and the unused portion of the credit line was $&lt;span id="xdx_905_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_c20230228__us-gaap--CreditFacilityAxis__us-gaap--LetterOfCreditMember_pp0p0" title="Unused portion of credit line"&gt;1,355,000&lt;/span&gt;.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000764"
      unitRef="USD">1500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000766"
      unitRef="USD">1500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="AsOf2024-02-29_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Fact000768"
      unitRef="Pure">0.0850</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="AsOf2023-02-28_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Fact000770"
      unitRef="Pure">0.0775</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers
      contextRef="AsOf2024-02-29_us-gaap_LetterOfCreditMember"
      decimals="0"
      id="Fact000772"
      unitRef="USD">72000</sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2024-02-29_us-gaap_LetterOfCreditMember"
      decimals="0"
      id="Fact000774"
      unitRef="USD">1428000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers
      contextRef="AsOf2023-02-28_us-gaap_LetterOfCreditMember"
      decimals="0"
      id="Fact000776"
      unitRef="USD">145000</sotk:CreditLineUtilizedForCollateralizeLettersOfCreditToCustomers>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2023-02-28_us-gaap_LetterOfCreditMember"
      decimals="0"
      id="Fact000778"
      unitRef="USD">1355000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000781">&lt;p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zav0q5hAjrNa" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 9: &lt;span id="xdx_82B_zehOsg1EtBA5"&gt;INCOME TAXES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZWfgbaOOoal" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The annual provision (benefit) for income taxes differs from amounts
computed by applying the maximum U.S. Federal income tax rate of 21% to pre-tax income as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B6_z8jkvGsQ4duj" style="display: none"&gt;Income taxes - income tax reconciliation&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 72%; text-align: left"&gt;Expected federal income tax&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;366,362&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;165,882&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State tax, net of federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,510&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;37,204&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(161,525&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(127,329&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Permanent differences&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;45,770&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;78,252&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Income tax expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;303,117&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;154,009&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A0_z58rzOYV2WBb" style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zSRnlTXCPlp3" style="font: 11pt Cambria,serif; margin: 0"&gt;Components of the current and deferred tax expense are as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;span id="xdx_8B9_zxzKgncjhRpd" style="display: none"&gt;Income taxes - current and deferred tax expense&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20230301__20240229_zqwZ5Td9QDk3" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20220301__20230228_zCToAzpTgAva" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Current:&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCFSALzjUX_zzjQGYI4ZPob" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 55%"&gt;Federal&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 12%; text-align: right"&gt;716,003&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 12%; text-align: right"&gt;438,263&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCFSALzjUX_zjox5XNqKak6" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;State&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;123,743&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;83,525&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtCFSALzjUX_maITEBzHJH_zp2XtK9d8sS8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt"&gt;Total current income tax&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;839,746&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;521,788&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Deferred:&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDFSALzsGL_ztBuSsDBuyU7" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Federal&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;(471,396&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;(321,458&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDFSALzsGL_zk7Fp661ox89" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;State&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(65,233&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(46,321&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtDFSALzsGL_maITEBzHJH_zSUnHV6Uo5i7" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(536,629&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(367,779&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBzHJH_ziVw1FWxR4P4" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt"&gt;Income tax expense&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"&gt;303,117&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"&gt;154,009&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8AF_zVBdJQIuqcZh" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;In assessing the realizability of deferred tax assets, management
considers whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization
of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences
become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income, and projections
for future taxable income over periods in which the deferred tax assets are deductible. Management believes it is more likely than not
that the Company will realize the benefits of these deductible differences.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The incorporation of the new tax laws for 2023, requires the Company
to capitalize for income tax purposes research and development expenses incurred during the year and for such expenses to be amortized
over a five year period. As a result, a deferred tax asset &#x201c;Capitalized R&amp;amp;D expenses &#x2013; IRC Section 174&#x201d; has been
recorded.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company does not have any uncertain tax positions in 2024. There
are no interest and penalties related to uncertain tax positions in 2024. As of February 29, 2024, open years related to the federal and
state jurisdictions are 2023, 2022 and 2021.&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zbfg78FRZTJi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The deferred tax asset and liability are comprised of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zBJxzWzY1Kxl" style="display: none"&gt;Income taxes - deferred tax asset and liability components&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-decoration: underline; text-align: left"&gt;Deferred tax asset&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Allowance for inventory&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--DeferredTaxAssetsInventory_c20240229_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory"&gt;91,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsInventory_c20230228_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory"&gt;76,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Allowance for accounts receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20240229_pp0p0" style="text-align: right" title="Allowance for accounts receivable"&gt;3,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20230228_pp0p0" style="text-align: right" title="Allowance for accounts receivable"&gt;3,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capitalized R&amp;amp;D expenses &#x2013; IRC Section 174&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--CapitalizedRdExpensesIrcSection174_iI_pp0p0_c20240229_zehJMdewuu9c" style="text-align: right" title="Capitalized R&amp;amp;D expenses - IRC Section 174"&gt;985,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--CapitalizedRdExpensesIrcSection174_c20230228_pp0p0" style="text-align: right"&gt;441,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accrued expenses and other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20240229_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other"&gt;177,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20230228_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other"&gt;147,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt"&gt;Deferred tax asset &#x2013; Long Term&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20240229_z0Hj7OqWalQh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax asset - Long Term"&gt;1,256,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--DeferredTaxAssetsNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right"&gt;667,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Building and leasehold depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_z8GDKMeMz4z3" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation"&gt;(230,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zeq6R43IqdUa" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation"&gt;(83,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt"&gt;Deferred tax liability &#x2013; Long Term&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20240229_zMXEK2ITDD58" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax liability - Long Term"&gt;(230,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20230228_zUxkc9bckBCc" style="border-bottom: Black 2.5pt double; text-align: right"&gt;(83,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zEaQRDnReccj" style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000783">&lt;p id="xdx_894_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZWfgbaOOoal" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The annual provision (benefit) for income taxes differs from amounts
computed by applying the maximum U.S. Federal income tax rate of 21% to pre-tax income as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B6_z8jkvGsQ4duj" style="display: none"&gt;Income taxes - income tax reconciliation&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 72%; text-align: left"&gt;Expected federal income tax&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;366,362&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;165,882&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State tax, net of federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,510&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;37,204&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(161,525&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(127,329&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Permanent differences&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;45,770&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;78,252&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Income tax expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;303,117&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;154,009&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000785">&lt;p id="xdx_890_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zSRnlTXCPlp3" style="font: 11pt Cambria,serif; margin: 0"&gt;Components of the current and deferred tax expense are as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;span id="xdx_8B9_zxzKgncjhRpd" style="display: none"&gt;Income taxes - current and deferred tax expense&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20230301__20240229_zqwZ5Td9QDk3" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20220301__20230228_zCToAzpTgAva" style="border-bottom: Black 1pt solid; font: bold 9pt Cambria,serif; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="font: bold 9pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Current:&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCFSALzjUX_zzjQGYI4ZPob" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 55%"&gt;Federal&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 12%; text-align: right"&gt;716,003&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 12%; text-align: right"&gt;438,263&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCFSALzjUX_zjox5XNqKak6" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;State&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;123,743&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;83,525&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtCFSALzjUX_maITEBzHJH_zp2XtK9d8sS8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt"&gt;Total current income tax&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;839,746&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;521,788&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Deferred:&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDFSALzsGL_ztBuSsDBuyU7" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;Federal&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;(471,396&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;(321,458&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDFSALzsGL_zk7Fp661ox89" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;State&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(65,233&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(46,321&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_iT_pp0p0_mtDFSALzsGL_maITEBzHJH_zSUnHV6Uo5i7" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(536,629&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 11pt Cambria,serif; text-align: right"&gt;(367,779&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBzHJH_ziVw1FWxR4P4" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="font: 11pt Cambria,serif; text-align: left; padding-bottom: 2.5pt"&gt;Income tax expense&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"&gt;303,117&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 11pt Cambria,serif; text-align: right"&gt;154,009&lt;/td&gt;&lt;td style="font: 11pt Cambria,serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000790"
      unitRef="USD">716003</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000791"
      unitRef="USD">438263</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000793"
      unitRef="USD">123743</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000794"
      unitRef="USD">83525</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000796"
      unitRef="USD">839746</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000797"
      unitRef="USD">521788</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000799"
      unitRef="USD">-471396</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000800"
      unitRef="USD">-321458</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000802"
      unitRef="USD">-65233</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000803"
      unitRef="USD">-46321</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000805"
      unitRef="USD">-536629</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000806"
      unitRef="USD">-367779</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000808"
      unitRef="USD">303117</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000809"
      unitRef="USD">154009</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000812">&lt;p id="xdx_892_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zbfg78FRZTJi" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The deferred tax asset and liability are comprised of the following:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zBJxzWzY1Kxl" style="display: none"&gt;Income taxes - deferred tax asset and liability components&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-decoration: underline; text-align: left"&gt;Deferred tax asset&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Allowance for inventory&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--DeferredTaxAssetsInventory_c20240229_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory"&gt;91,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsInventory_c20230228_pp0p0" style="width: 12%; text-align: right" title="Allowance for inventory"&gt;76,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Allowance for accounts receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20240229_pp0p0" style="text-align: right" title="Allowance for accounts receivable"&gt;3,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_c20230228_pp0p0" style="text-align: right" title="Allowance for accounts receivable"&gt;3,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capitalized R&amp;amp;D expenses &#x2013; IRC Section 174&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--CapitalizedRdExpensesIrcSection174_iI_pp0p0_c20240229_zehJMdewuu9c" style="text-align: right" title="Capitalized R&amp;amp;D expenses - IRC Section 174"&gt;985,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--CapitalizedRdExpensesIrcSection174_c20230228_pp0p0" style="text-align: right"&gt;441,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accrued expenses and other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20240229_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other"&gt;177,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c20230228_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Accrued expenses and other"&gt;147,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt"&gt;Deferred tax asset &#x2013; Long Term&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20240229_z0Hj7OqWalQh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax asset - Long Term"&gt;1,256,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--DeferredTaxAssetsNet_c20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right"&gt;667,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Building and leasehold depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20240229_z8GDKMeMz4z3" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation"&gt;(230,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_pp0p0_di_c20230228_zeq6R43IqdUa" style="border-bottom: Black 1pt solid; text-align: right" title="Building and leasehold depreciation"&gt;(83,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt; padding-left: 9pt"&gt;Deferred tax liability &#x2013; Long Term&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20240229_zMXEK2ITDD58" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred tax liability - Long Term"&gt;(230,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20230228_zUxkc9bckBCc" style="border-bottom: Black 2.5pt double; text-align: right"&gt;(83,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000814"
      unitRef="USD">91000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000816"
      unitRef="USD">76000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000818"
      unitRef="USD">3000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000820"
      unitRef="USD">3000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <sotk:CapitalizedRdExpensesIrcSection174
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000822"
      unitRef="USD">985000</sotk:CapitalizedRdExpensesIrcSection174>
    <sotk:CapitalizedRdExpensesIrcSection174
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000823"
      unitRef="USD">441000</sotk:CapitalizedRdExpensesIrcSection174>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000825"
      unitRef="USD">177000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000827"
      unitRef="USD">147000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000829"
      unitRef="USD">1256000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000830"
      unitRef="USD">667000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000832"
      unitRef="USD">230000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000834"
      unitRef="USD">83000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilities
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="Fact000836"
      unitRef="USD">230000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="Fact000837"
      unitRef="USD">83000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000839">&lt;p id="xdx_80E_eus-gaap--EarningsPerShareTextBlock_zzsQfEi85scg" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 10: &lt;span id="xdx_823_zPJbDmVJcvDb"&gt;EARNINGS PER SHARE&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJt1zBE57Tdk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The following table sets forth the computation of basic and diluted
earnings per share:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B0_zUHPZKuamNA" style="display: none"&gt;Schedule of computation of basic and diluted earnings per share&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230301__20240229_zCYbjRInJr4b" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220301__20230228_zmRKPOt6fMul" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--ProfitLoss_zVSr50SSqhfg" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left; padding-bottom: 2.5pt"&gt;Numerator for basic and diluted earnings per share&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;1,441,463&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;635,905&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zeOvC2kVC74b" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;Denominator for basic earnings per share - weighted average&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,743,763&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,735,451&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DilutiveSecuritiesAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Effects of dilutive securities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_i_pdd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Stock options for employees, directors and outside consultants&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,244&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;34,048&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zc4TKB4TblW6" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Denominator for diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;15,774,007&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;15,769,499&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic Earnings Per Share &#x2013; Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.09&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--EarningsPerShareDiluted_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted Earnings Per Share &#x2013; Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.09&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_z7wcKHWfR9ih" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000841">&lt;p id="xdx_890_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJt1zBE57Tdk" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The following table sets forth the computation of basic and diluted
earnings per share:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8B0_zUHPZKuamNA" style="display: none"&gt;Schedule of computation of basic and diluted earnings per share&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230301__20240229_zCYbjRInJr4b" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220301__20230228_zmRKPOt6fMul" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--ProfitLoss_zVSr50SSqhfg" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left; padding-bottom: 2.5pt"&gt;Numerator for basic and diluted earnings per share&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;1,441,463&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;635,905&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zeOvC2kVC74b" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td&gt;Denominator for basic earnings per share - weighted average&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,743,763&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,735,451&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DilutiveSecuritiesAbstract_iB" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left"&gt;Effects of dilutive securities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_i_pdd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Stock options for employees, directors and outside consultants&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,244&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;34,048&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zc4TKB4TblW6" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Denominator for diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;15,774,007&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;15,769,499&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic Earnings Per Share &#x2013; Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.09&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--EarningsPerShareDiluted_i_pdd" style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted Earnings Per Share &#x2013; Weighted Average&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.09&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.04&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000843"
      unitRef="USD">1441463</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000844"
      unitRef="USD">635905</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000846"
      unitRef="Shares">15743763</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000847"
      unitRef="Shares">15735451</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000852"
      unitRef="Shares">30244</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000853"
      unitRef="Shares">34048</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000855"
      unitRef="Shares">15774007</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000856"
      unitRef="Shares">15769499</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000858"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000859"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-03-01to2024-02-29"
      decimals="INF"
      id="Fact000861"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-03-012023-02-28"
      decimals="INF"
      id="Fact000862"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000864">&lt;p id="xdx_808_eus-gaap--ConcentrationRiskDisclosureTextBlock_zM4ADTMOmnd4" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 11: &lt;span id="xdx_82E_zzHAios122W8"&gt;CUSTOMER CONCENTRATIONS AND FOREIGN SALES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_zNuqH7043FQ8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Export sales to customers located outside the United States and Canada
were approximately as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8BA_zZcF0eCot0i2" style="display: none"&gt;Schedule of customer concentrations and foreign sales&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Asia Pacific (APAC)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales"&gt;3,268,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales"&gt;3,260,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Europe, Middle East, Asia (EMEA)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales"&gt;4,333,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales"&gt;3,448,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Latin America&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales"&gt;1,221,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales"&gt;1,546,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales"&gt;8,822,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales"&gt;8,254,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_zRcKou5XMOOa" style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;During fiscal 2024 and fiscal 2023, sales to foreign customers accounted
for approximately $&lt;span id="xdx_904_eus-gaap--Revenues_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue"&gt;8,822,000&lt;/span&gt; and $&lt;span id="xdx_901_eus-gaap--Revenues_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pp0p0" title="Sales revenue"&gt;8,254,000&lt;/span&gt;, or &lt;span id="xdx_90E_ecustom--SalesRevenuePercent_c20230301__20240229__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent"&gt;45%&lt;/span&gt; and &lt;span id="xdx_90D_ecustom--SalesRevenuePercent_c20220301__20230228__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__custom--ForeignCustomersMember_pdd" title="Sales revenue, percent"&gt;55%&lt;/span&gt; respectively, of total revenues.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;For the fiscal years ended February 29, 2024 and February 28, 2023,
no single customer accounted for more than 10% of the Company&#x2019;s revenues.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Two customers accounted for &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_dp_c20230301__20240229__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEPYPM8Nmwm"&gt;26&lt;/span&gt;%
of the outstanding accounts receivables February 29, 2024.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Two customers accounted for &lt;span title="Outstanding accounts receivables, percent"&gt;&lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zl4f01nFCZo2" title="Outstanding accounts receivables, percent"&gt;28&lt;/span&gt;%
of the outstanding accounts receivables at February 28, 2023.&lt;/span&gt;&lt;/p&gt;






&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company had two customers which accounted for &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent"&gt;14%&lt;/span&gt; of sales during
fiscal 2023. Four customers accounted for &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_c20220301__20230228__srt--MajorCustomersAxis__custom--FourCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_pdd" title="Outstanding accounts receivables, percent"&gt;44%&lt;/span&gt; of the outstanding accounts receivables at February 28, 2023.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000866">&lt;p id="xdx_89B_eus-gaap--SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_zNuqH7043FQ8" style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Export sales to customers located outside the United States and Canada
were approximately as follows:&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;&lt;span id="xdx_8BA_zZcF0eCot0i2" style="display: none"&gt;Schedule of customer concentrations and foreign sales&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 11pt Cambria, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 29,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: center"&gt;February 28,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="width: 55%; text-align: left"&gt;Asia Pacific (APAC)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales"&gt;3,268,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--AsiaPacificMember_pp0p0" style="width: 12%; text-align: right" title="Total sales"&gt;3,260,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Europe, Middle East, Asia (EMEA)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales"&gt;4,333,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__us-gaap--MiddleEastMember_pp0p0" style="text-align: right" title="Total sales"&gt;3,448,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(230,239,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Latin America&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales"&gt;1,221,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228__srt--StatementGeographicalAxis__srt--LatinAmericaMember_pp0p0" style="border-bottom: Black 1pt solid; text-align: right" title="Total sales"&gt;1,546,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20230301__20240229_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales"&gt;8,822,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20220301__20230228_pp0p0" style="border-bottom: Black 2.5pt double; text-align: right" title="Total sales"&gt;8,254,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-03-012024-02-29_srt_AsiaPacificMember"
      decimals="0"
      id="Fact000868"
      unitRef="USD">3268000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-03-012023-02-28_srt_AsiaPacificMember"
      decimals="0"
      id="Fact000870"
      unitRef="USD">3260000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-03-012024-02-29_us-gaap_MiddleEastMember"
      decimals="0"
      id="Fact000872"
      unitRef="USD">4333000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-03-012023-02-28_us-gaap_MiddleEastMember"
      decimals="0"
      id="Fact000874"
      unitRef="USD">3448000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-03-012024-02-29_srt_LatinAmericaMember"
      decimals="0"
      id="Fact000876"
      unitRef="USD">1221000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-03-012023-02-28_srt_LatinAmericaMember"
      decimals="0"
      id="Fact000878"
      unitRef="USD">1546000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-03-01to2024-02-29"
      decimals="0"
      id="Fact000880"
      unitRef="USD">8822000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-03-012023-02-28"
      decimals="0"
      id="Fact000882"
      unitRef="USD">8254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:Revenues
      contextRef="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember"
      decimals="0"
      id="Fact000884"
      unitRef="USD">8822000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember"
      decimals="0"
      id="Fact000886"
      unitRef="USD">8254000</us-gaap:Revenues>
    <sotk:SalesRevenuePercent
      contextRef="From2023-03-012024-02-29_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember"
      decimals="INF"
      id="Fact000888"
      unitRef="Pure">0.45</sotk:SalesRevenuePercent>
    <sotk:SalesRevenuePercent
      contextRef="From2022-03-012023-02-28_us-gaap_SalesRevenueNetMember_custom_ForeignCustomersMember"
      decimals="INF"
      id="Fact000890"
      unitRef="Pure">0.55</sotk:SalesRevenuePercent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-03-012024-02-29_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000891"
      unitRef="Pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000893"
      unitRef="Pure">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-03-012023-02-28_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000896"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-03-012023-02-28_custom_FourCustomersMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000898"
      unitRef="Pure">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2023-03-01to2024-02-29" id="Fact000900">&lt;p id="xdx_800_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z0q8yTvuJde" style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;NOTE 12: &lt;span id="xdx_82C_zC5a7hUfmmq7"&gt;COMMITMENTS AND CONTINGENCIES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;Other than the letters of credit discussed in Notes 3 and 8, the Company did not have any
material commitments or contingencies as of February&#160;29, 2024.&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 11pt Cambria,serif; margin: 0; text-align: justify"&gt;The Company is subject, from time to time, to claims by third parties
under various legal disputes. The defense of such claims, or any adverse outcome relating to any such claims, could have a material adverse
effect on the Company&#x2019;s liquidity, financial condition, and cash flows. As of February 29, 2024, the Company did not have any pending
legal actions.&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
